image/svg+xml1.1INTRODUCTION:Systemiscombinationofdifferentfactorswhichperformdifferentfunctions.Ithandlesbyuserandadministratorwhohasaknowledgeandskillaboutthatsystem.
image/svg+xml51.2SYSTEMTheconceptofan'integratedwhole'canalsobestatedintermsofasystemembodyingasetofrelationshipswhicharedifferentiatedfromrelationshipsofthesettootherelements,andfromrelationshipsbetweenanelementofthesetandelementsnotapartoftherelationalregime.!Systemshavestructure, definedbypartsandtheircomposition;!Systemshavebehavior, whichinvolvesinputs,processingandoutputsofmaterial,energyorinformation;!Systemshaveinterconnectivity:thevariouspartsofasystemhavefunctionalaswellasstructuralrelationshipsbetweeneachother.!Systemshavebythemselvesfunctionsorgroupsoffunctions1.3CLASSIFICATIONOFSYSTEM:Classificationofsystemscanbedoneinmanyways.1.3.1PhysicalorAbstractSystemPhysicalsystemsaretangibleentitiesthatwecanfeelandtouch.Thesemaybestaticordynamicinnature.Forexample,takeacomputercenter.Desksandchairsarethestaticparts,whichassistintheworkingofthecenter.Staticpartsdon'tchange.Thedynamicsystemsareconstantlychanging.Computersystemsaredynamicsystem.Programs,data,andapplicationscanchangeaccordingtotheuser'sneeds.Abstractsystemsareconceptual.Thesearenotphysicalentities.Theymaybeformulas,representationormodelofarealsystem.
image/svg+xml61.3.2OpenClosedSystemSystemsinteractwiththeirenvironmenttoachievetheirtargets.Thingsthatarenotpartofthesystemareenvironmentalelementsforthesystem.Dependingupontheinteractionwiththeenvironment,systemscanbedividedintotwocategories,openandclosed.Opensystems:Systemsthatinteractwiththeirenvironment.Practicallymostofthesystemsareopensystems.Anopensystemhasmanyinterfaceswithitsenvironment.Itcanalsoadapttochangingenvironmentalconditions.Itcanreceiveinputsfrom,anddeliversoutputtotheoutsideofsystem.Aninformationsystemisanexampleofthiscategory.Closedsystems:Systemsthatdon'tinteractwiththeirenvironment.Closedsystemsexistinconceptonly.1.3.3ManmadeInformationSystemThemainpurposeofinformationsystemsistomanagedataforaparticularorganization.Maintainingfiles,producinginformationandreportsarefewfunctions.Aninformationsystemproducescustomizedinformationdependingupontheneedsoftheorganization.Theseareusuallyformal,informal,andcomputerbased.FormalInformationSystems:Itdealswiththeflowofinformationfromtopmanagementtolowermanagement.Informationflowsintheformofmemos,instructions,etc.Butfeedbackcanbegivenfromlowerauthoritiestotopmanagement.InformalInformationsystems:Informalsystemsareemployeebased.Thesearemadetosolvethedaytodayworkrelatedproblems.Computer-BasedInformationSystems:Thisclassofsystemsdependsontheuseofcomputerformanagingbusinessapplications.1.3.4ComputerBaseSystem:Asystemofoneormorecomputersandassociatedsoftwarewithcommonstoragecalledsystem.Acomputerisaprogrammablemachinethatreceivesinput,storesandmanipulatesdata,andprovidesoutputinausefulformat.Thecomputerelementsdescribedthusfarareknownas"hardware."Acomputersystemhasthreeparts:thehardware,thesoftware,andthepeoplewhomakeitwork.
image/svg+xml71.3.5InformationSystem:Aninformationsystem(IS)isanycombinationofinformationtechnologyandpeople'sactivitiesusingthattechnologytosupportoperations,management,anddecision-making.Informationsystemdealswithdataoftheorganizations.ThepurposesofInformationsystemaretoprocessinput,maintaindata,producereports,handlequeries,handleonlinetransactions,generatereports,andotheroutput.Thesemaintainhugedatabases,handlehundredsofqueriesetc.Thetransformationofdataintoinformationisprimaryfunctionofinformationsystem.Informationsystemsdifferintheirbusinessneeds.Alsodependingupondifferentlevelsinorganizationinformationsystemsdiffer.Threemajorinformationsystemsare1.Transactionprocessingsystems2.Managementinformationsystems3.DecisionsupportsystemsFigure1.2showsrelationofinformationsystemtothelevelsoforganization.Theinformationneedsaredifferentatdifferentorganizationallevels.Accordinglytheinformationcanbecategorizedas:strategicinformation,managerialinformationandoperationalinformation.Strategicinformationistheinformationneededbytopmostmanagementfordecisionmaking.Forexamplethetrendsinrevenuesearnedbytheorganizationarerequiredbythetopmanagementforsettingthepoliciesoftheorganization.Thisinformationisnotrequiredbythelowerlevelsintheorganization.TheinformationsystemsthatprovidethesekindsofinformationareknownasDecisionSupportSystems.
image/svg+xml8Figure-RelationofinformationsystemstolevelsoforganizationThesecondcategoryofinformationrequiredbythemiddlemanagementisknownasmanagerialinformation.Theinformationrequiredatthislevelisusedformakingshorttermdecisionsandplansfortheorganization.Informationlikesalesanalysisforthepastquarteroryearlyproductiondetailsetc.fallunderthiscategory.Managementinformationsystem(MIS)caterstosuchinformationneedsoftheorganization.Duetoitscapabilitiestofulfillthemanagerialinformationneedsoftheorganization,ManagementInformationSystemshavebecomeanecessityforallbigorganizations.Andduetoitsvastness,mostofthebigorganizationshaveseparateMISdepartmentstolookintotherelatedissuesandproperfunctioningofthesystem.Thethirdcategoryofinformationisrelatingtothedailyorshortterminformationneedsoftheorganizationsuchasattendancerecordsoftheemployees.Thiskindofinformationisrequiredattheoperationallevelforcarryingouttheday-to-dayoperationalactivities.Duetoitscapabilitiestoprovideinformationforprocessingtransactionoftheorganization,theinformationsystemisknownasTransactionProcessingSystemorDataProcessingSystem.Someexamplesofinformationprovidedbysuchsystemsareprocessingoforders,postingofentriesinbank,evaluatingoverduepurchaserordersetc.1.3.6TransactionProcessingSystemsTPSprocessesbusinesstransactionoftheorganization.Transactioncanbeanyactivityoftheorganization.Transactionsdifferfromorganizationtoorganization.Forexample,takearailwayreservationsystem.Booking,cancelling,etcarealltransactions.
image/svg+xml9Anyquerymadetoitisatransaction.However,therearesometransactions,whicharecommontoalmostallorganizations.Likeemployeenewemployee,maintainingtheirleavestatus,maintainingemployeesaccounts,etc.Thisprovideshighspeedandaccurateprocessingofrecordkeepingofbasicoperationalprocesses.Theseincludecalculation,storageandretrieval.Transactionprocessingsystemsprovidespeedandaccuracy,andcanbeprogrammedtofollowroutinesfunctionsoftheorganization.1.3.7ManagementInformationSystems:Thesesystemsassistlowermanagementinproblemsolvingandmakingdecisions.Theyusetheresultsoftransactionprocessingandsomeotherinformationalso.Itisasetofinformationprocessingfunctions.Itshouldhandlequeriesasquicklyastheyarrive.AnimportantelementofMISisdatabase.Adatabaseisanon-redundantcollectionofinterrelateddataitemsthatcanbeprocessedthroughapplicationprogramsandavailabletomanyusers.1.3.8DecisionSupportSystems:Thesesystemsassisthighermanagementtomakelongtermdecisions.Thesetypeofsystemshandleunstructuredorsemistructureddecisions.Adecisionisconsideredunstructurediftherearenoclearproceduresformakingthedecisionandifnotallthefactorstobeconsideredinthedecisioncanbereadilyidentifiedinadvance.Thesearenotofrecurringnature.Somerecurinfrequentlyoroccuronlyonce.Adecisionsupportsystemmustveryflexible.Theusershouldbeabletoproducecustomizedreportsbygivingparticulardataandformatspecifictoparticularsituations.1.4SYSTEMANALYSIS:Systemsanalysisisthestudyofsetsofinteractingentities,includingcomputersystems.Thisfieldiscloselyrelatedtooperationsresearch.Itisalso"anexplicitformalcarriedouttohelp, referredtoasthedecisionmaker,identifyabettercourseofaction.Computersarefastbecomingourwayoflifeandonecannotimaginelifewithoutcomputersintoday’sworld.Yougotoarailway
image/svg+xml10stationforreservation,youwanttowebsiteaticketforacinema,yougotoalibrary,oryougotoabank,youwillfindcomputersatallplaces.Sincecomputersareusedineverypossiblefieldtoday,itbecomesanimportantissuetounderstandandbuildthesecomputerizedsystemsinaneffectiveway.1.5SOFTWAREENGINEERING:SoftwareEngineeringisthesystematicapproachtothedevelopment,operationandmaintenanceofsoftware.SoftwareEngineeringisconcernedwithdevelopmentandmaintenanceofsoftwareproducts.Softwareengineering(SE)isaprofessiondedicatedtodesigning,implementing,andmodifyingsoftwaresothatitisofhigherquality,moreaffordable,maintainable,andfastertobuild.Itisa"systematicapproachtotheanalysis,design,assessment,implementation,test,maintenanceandreengineeringofsoftware,thatis,theapplicationofengineeringtosoftware.Theprimarygoalofsoftwareengineeringistoprovidethequalityofsoftwarewithlowcost.SoftwareEngineeringinvolvesprojectplanning,projectmanagement,systematicanalysis,design,validationsandmaintenanceactivities.EveryEngineerwantstodesignthegeneralthemefortodevelopthesoftware.So, thestepwiseexecutionisnecessarytodevelopagoodsoftware.Itiscalledassoftwareengineering.1.6SYSTEMDESIGN:Systemsdesignistheprocessorartofdefiningthearchitecture,components,modules,interfaces,anddataforasystemtosatisfyspecifiedrequirements.Onecouldseeitastheapplicationofsystemstheorytoproductdevelopment. Thereissomeoverlapwiththedisciplinesofsystemsanalysis,systemsarchitectureandsystemsengineering.Systemdesignisdividedintotwotypes:1.6.1LogicalDesignThelogicaldesignofasystempertainstoanabstractrepresentationofthedataflows,inputsandoutputsofthesystem.Thisisoftenconductedviamodeling,whichinvolvesasimplistic(andsometimesgraphical)representationofanactualsystem.Inthecontextofsystemsdesign,modelingcanundertakethefollowingforms,including:
image/svg+xml11DataflowdiagramsEntityLifeHistoriesEntityRelationshipDiagrams1.6.2PhysicalDesignThephysicaldesignrelatestotheactualinputandoutputprocessesofthesystem.Thisislaiddownintermsofhowdataisinputtedintoasystem,howitisverified/authenticated,howitisprocessed,andhowit isdisplayedasoutput.Physicaldesign,inthiscontext,doesnotrefertothetangiblephysicaldesignofaninformationsystem.Touseananalogy,apersonalcomputer'sphysicaldesigninvolvesinputviaakeyboard,processingwithintheCPU,andoutputviaamonitor,printer,etc.Itwouldnotconcerntheactuallayoutofthetangiblehardware,whichforaPCwouldbeamonitor,CPU,motherboard,harddrive,modems,video/graphicscards,USBslots,etc.SystemDesignincludesfollowingpoints:Requirementsanalysis-analyzestheneedsoftheendusersorcustomersBenchmarkingisanefforttoevaluatehowcurrentsystemsareusedSystemsarchitecture-createsablueprintforthedesignwiththenecessaryspecificationsforthehardware,software,peopleanddataresources.Inmanycases,multiplearchitecturesareevaluatedbeforeoneisselected.Designdesignerswillproduceoneormore'models'ofwhattheyseeasystemeventuallylookinglike,withideasfromtheanalysissectioneitherusedordiscarded.Adocumentwillbeproducedwithadescriptionofthesystem,butnothingisspecifictheymightsay'touchscreen'or'GUIoperatingsystem',butnotmentionanyspecificbrands;Computerprogramminganddebugginginthesoftwareworld,ordetaileddesignintheconsumer,enterpriseorcommercialworld-specifiesthefinalsystemcomponents.Systemtesting-evaluatesthesystem'sactualfunctionalityinrelationtoexpectedorintendedfunctionality,includingallintegrationaspects.1.7SYSTEMANALYST:Thesystemanalystistheperson(orpersons)whoguidesthroughthedevelopmentofaninformationsystem.Inperforming
image/svg+xml12thesetaskstheanalystmustalwaysmatchtheinformationsystemobjectiveswiththegoalsoftheorganization.1.7.1RoleofSystemAnalyst:RoleofSystemAnalystdiffersfromorganizationtoorganization.MostcommonresponsibilitiesofSystemAnalystarefollowing:1)SystemanalysisItincludessystem'sstudyinordertogetfactsaboutbusinessactivity.Itisaboutgettinginformationanddeterminingrequirements.Heretheresponsibilityincludesonlyrequirementdetermination,notthedesignofthesystem.2)Systemanalysisanddesign:Hereapartfromtheanalysiswork,Analystisalsoresponsibleforthedesigningofthenewsystem/application.3)Systemsanalysis,design,andprogramming:HereAnalystisalsorequiredtoperformasaprogrammer,whereheactuallywritesthecodetoimplementthedesignoftheproposedapplication.Duetothevariousresponsibilitiesthatasystemanalystrequirestohandle,hehastobemultifacetedpersonwithvariedskillsrequiredatvariousstagesofthelifecycle.Inadditiontothetechnicalknow-howoftheinformationsystemdevelopmentasystemanalystshouldalsohavethefollowingknowledge.!Businessknowledge:Astheanalystmighthavetodevelopanykindofabusinesssystem,heshouldbefamiliarwiththegeneralfunctioningofallkindofbusinesses.!Interpersonalskills:Suchskillsarerequiredatvariousstagesofdevelopmentprocessforinteractingwiththeusersandextractingtherequirementsoutofthem!Problemsolvingskills:Asystemanalystshouldhaveenoughproblemsolvingskillsfordefiningthealternatesolutionstothesystemandalsofortheproblemsoccurringatthevariousstagesofthedevelopmentprocess.1.7.2TaskofSystemAnalyst:Theprimaryobjectiveofanysystemanalystistoidentifytheneedoftheorganizationbyacquiringinformationbyvariousmeansandmethods.Informationacquiredbytheanalystcanbeeithercomputerbasedormanual.Collectionofinformationisthevital
image/svg+xml13stepasindirectlyallthemajordecisionstakenintheorganizationsareinfluenced.Thesystemanalysthastocoordinatewiththesystemusers,computerprogrammers,managerandnumberofpeoplewhoarerelatedwiththeuseofsystem.Followingarethetasksperformedbythesystemanalyst:DefiningRequirement:Thebasicstepforanysystemanalystistounderstandtherequirementsoftheusers.Thisisachievedbyvariousfactfindingtechniqueslikeinterviewing,observation,questionnaireetc.Theinformationshouldbecollectedinsuchawaythatitwillbeusefultodevelopsuchasystemwhichcanprovideadditionalfeaturestotheusersapartfromthedesired.PrioritizingRequirements:Numberofusersusesthesystemintheorganization.Eachonehasadifferentrequirementandretrievesdifferentinformation.Duetocertainlimitationsincomputingcapacityitmaynotbepossibletosatisfytheneedsofalltheusers.Evenifthecomputercapacityisgoodenoughisitnecessarytotakesometasksandupdatethetasksasperthechangingrequirements.Henceitisimportanttocreatelistofprioritiesaccordingtousersrequirements.Thebestwaytoovercometheabovelimitationsistohaveacommonformalorinformaldiscussionwiththeusersofthesystem.Thishelpsthesystemanalysttoarriveatabetterconclusion.GatheringFacts,dataandopinionsofUsers:Afterdeterminingthenecessaryneedsandcollectingusefulinformationtheanalyststartsthedevelopmentofthesystemwithactivecooperationfromtheusersofthesystem.Timetotime,theusersupdatetheanalystwiththenecessaryinformationfordevelopingthesystem.Theanalystwhiledevelopingthesystemcontinuouslyconsultstheusersandacquirestheirviewsandopinions.EvaluationandAnalysis:Astheanalystmaintainscontinuousheconstantlychangesandmodifiesthesystemtomakeitbetterandmoreuserfriendlyfortheusers.SolvingProblems:Theanalystmustprovidealternatesolutionstothemanagementandshouldaindeptstudyofthesystemtoavoidfutureproblems.Theanalystshouldprovidewithsomeflexiblealternativestothemanagementwhichwillhelpthemanagertopickthesystemwhichprovidesthebestsolution.DrawingSpecifications:Theanalystmustdrawcertainspecificationswhichwillbeusefulforthemanager.Theanalystshouldlaythespecificationwhichcanbeeasilyunderstoodbythemanagerandtheyshouldbepurelynon-technical.Thespecificationsmustbeindetailedandinwellpresentedform.
image/svg+xml141.7.3AttributesofSystemAnalyst:ASystemAnalyst(SA)analyzestheorganizationanddesignofbusinesses,governmentdepartments,andnon-profitorganizations;theyalsoassessbusinessmodelsandtheirintegration withtechnology.Thereareatleastfourtiersofbusinessanalysis:1.PlanningStrategically-Theanalysisoftheorganizationbusinessstrategicneeds2.Operating/Businessmodelanalysis-thedefinitionandanalysisoftheorganization'spoliciesandmarketbusinessapproaches3.Processdefinitionanddesign-thebusinessprocessmodeling(oftendevelopedthroughprocessmodelinganddesign)4.IT/Technicalbusinessanalysis-theinterpretationofbusinessrulesandrequirementsfortechnicalsystems(generallyIT)Withinthesystemsdevelopmentlifecycledomain(SDLC),thebusinessanalysttypicallyperformsaliaisonfunctionbetweenthebusinesssideofanenterpriseandtheprovidersofservicestotheenterprise.ACommonalternativeroleintheITsectorisbusinessanalyst,systemsanalyst,andfunctionalanalyst,althoughsomeorganizationsmaydifferentiatebetweenthesetitlesandcorrespondingresponsibilities.1.7.4SkillrequiredforSystemAnalyst:Interpersonalskillsareasfollows:1:Communication:Itisaninterpersonalquality;thesystemanalystmusthavecommandonEnglishlanguage.Communicationisnecessarytoestablishaproperrelationshipbetweensystemanalystandtheuser.CommunicationisneedtoGathercorrectinformationEstablishesaproblemsolvingideasinfrontofthemanagement.2:Understanding:Thisisalsoaninterpersonalqualityofthesystemanalyst,understandingincludesUnderstandingoftheobjectivesoftheorganization.Understandingtheproblemsofthesystem.
image/svg+xml15Understandingtheinformationgivenbytheuseroremployeeoftheorganization.3:Selling:Theideasofthesystemanalystarehisproductswhichhesellstothemanagerofaparticularorganization.Thesystemanalystmusthavenotonlytheabilityofcreatingideasbutalsotosellhisideas.4:Teaching:Itisalsoaninterpersonalquality.Asystemanalystmusthaveteachingskills.Hemusthavetheabilitytoteachteammembersandtheusers.Hehastoteachaboutthenewsystemandalsoabouttheproperuseofthenewsystem.5:Newtechnology:Ananalystisanagentofchange,heorshemusthavetheabilitytoshowallthebenefitsofthecandidatesystemwiththenewtechnologicaladvancement,hemustknewaboutEmailInternetAdvancegraphicsServerbasednetworkingNetworktechnologyetc.1.8SUMMARYThischapterisbasedonSystem,theirentirefactorsandimpactonsurrounding.Systemisdividedintodifferenttypesandit performsvariousfunctions.Systemanalystcanhandleeverytypesofsystem.Questions:1.Whatissystem?Explainclassificationofsystem?Ans:Refer1.2and1.32.Explainskillofsystemanalyst?Ans:refer1.7.4
image/svg+xmlAPPROACHESTOSYSTEMDEVELOPMENT
image/svg+xml172.1INTRODUCTION:SDLC,ItisSystemDevelopmentLifeCycle.ItincludesGuidance,policies,andproceduresfordevelopingsystemsthroughouttheirlifecycle,includingrequirements,design,implementation,testing,deployment,operations,andmaintenance.2.2THESYSTEMSDEVELOPMENTLIFECYCLE(SDLC),ORSOFTWAREDEVELOPMENTLIFE CYCLE:Insystemsengineering,informationsystemsandsoftwareengineering, istheprocessofcreatingoralteringsystems,andthemodelsandmethodologiesthatpeopleusetodevelopthesesystems.Theconceptgenerallyreferstocomputerorinformationsystems.SystemsandDevelopmentLifeCycle(SDLC)isaprocessusedbyasystemsanalysttodevelopaninformationsystem,includingrequirements,validation,training,anduser(stakeholder)ownership.AnySDLCshouldresultinahighqualitysystemthatmeetsorexceedscustomerexpectations,reachescompletionwithintimeandcostestimates,workseffectivelyandefficientlyinthecurrentandplannedInformationTechnologyinfrastructure,andisinexpensivetomaintainandcost-effectivetoenhance.Forex.Computersystemsarecomplexandoften(especiallywiththerecentriseofService-OrientedArchitecture)linkmultipletraditionalsystemspotentiallysuppliedbydifferentsoftwarevendors.Tomanagethislevelofcomplexity,anumberofSDLCmodelshavebeencreated:"waterfall";"fountain";"spiral";"buildandfix";"rapidprototyping";"incremental";and"synchronizeandstabilize.Thesystemsdevelopmentlifecycle(SDLC)isatypeofmethodologyusedtodescribetheprocessforbuildinginformationsystems,intendedtodevelopinformationsystemsinavery
image/svg+xml18deliberate,structuredandmethodicalway,reiteratingeachstageofthelifecycle.2.2.1SystemDevelopmentPhases:SystemsDevelopmentLifeCycle(SDLC)adherestoimportantphasesthatareessentialfordevelopers,suchasplanning,analysis,design,andimplementation,andareexplainedinthesectionbelow.SeveralSystemsDevelopmentLifeCycleModelsexist,theoldestofwhichoriginallyregardedas"theSystemsDevelopmentLifeCycle"isthewaterfallmodel:asequenceofstagesinwhichtheoutputofeachstagebecomestheinputforthenext.Thesestagesgenerallyfollowthesamebasicsteps,butmanydifferentwaterfallmethodologiesgivethestepsdifferentnamesandthenumberofstepsseemstovarybetweenfourandseven.2.2.2SDLCPhasesDiagram:ProblemDefinitionEvaluationValidationAnalysisDesignImplementation2.2.3ExplanationoftheSDLCPhases:RequirementsgatheringandanalysisThegoalofsystemanalysisistodeterminewheretheproblemisinanattempttofixthesystem.Thisstepinvolves"breakingdown"thesystemindifferentpiecestoanalyzethesituation,analyzingprojectgoals,"breakingdown"whatneedstobecreatedandattemptingtoengageuserssothatdefiniterequirementscanbedefined(Decompositioncomputerscience).RequirementsGatheringsometimesrequiresindividuals/teams
image/svg+xml19fromclientaswellasserviceprovidersidestogetdetailedandaccuraterequirements....Design:Insystems,designfunctionsandoperationsaredescribedindetail,includingscreenlayouts,businessrules,processdiagramsandotherdocumentation.Theoutputofthisstagewilldescribethenewsystemasacollectionofmodulesorsubsystems.Thedesignstagetakesasitsinitialinputtherequirementsidentifiedintheapprovedrequirementsdocument.Foreachrequirement,asetofoneormoredesignelementswillbeproducedasaresultofinterviews,workshops,and/orprototypeefforts.Designelementsdescribethedesiredsoftwarefeaturesindetail,andgenerallyincludefunctionalhierarchydiagrams,screenlayoutdiagrams,tablesofbusinessrules,businessprocessdiagrams,pseudocode,andacompleteentity-relationshipdiagramwithafulldatadictionary.Thesedesignelementsareintendedtodescribethesoftwareinsufficientdetailthatskilledprogrammersmaydevelopthesoftwarewithminimaladditionalinputdesign.Buildorcoding:Modularandsubsystemprogrammingcodewillbeaccomplishedduringthisstage.Unittestingandmoduletestingaredoneinthisstagebythedevelopers.Thisstageisintermingledwiththenextinthatindividualmoduleswillneedtestingbeforeintegrationtothemainproject.Testing:Thecodeistestedatvariouslevelsinsoftwaretesting.Unit,systemanduseracceptancetestingsareoftenperformed.Thisisagreyareaasmanydifferentopinionsexistastowhatthestagesoftestingareandhowmuchifanyiterationoccurs.Iterationisnotgenerallypartofthewaterfallmodel,butusuallysomeoccuratthisstage.Belowarethefollowingtypesoftesting:Datasettesting.UnittestingSystemtestingIntegrationtestingBlackboxtestingWhiteboxtestingRegressiontestingAutomationtestingUseracceptancetestingPerformancetestingProduction
image/svg+xml20definition:-it isaprocessthatensuresthattheprogramperformstheintendedtask.OperationsandmaintenanceThedeploymentofthesystemincludeschangesandenhancementsbeforethedecommissioningorsunsetofthesystem.MaintainingthesystemisanimportantaspectofSDLC.Askeypersonnelchangepositionsintheorganization,newchangeswillbeimplemented,whichwillrequiresystemupdates.2.2.4SDLCPhaseswithManagementControl:TheSystemsDevelopmentLifeCycle(SDLC)phasesserveasaprogrammaticguidetoprojectactivityandprovideaflexiblebutconsistentwaytoconductprojectstoadepthmatchingthescopeoftheproject.EachoftheSDLCphaseobjectivesaredescribedinthissectionwithkeydeliverables,adescriptionofrecommendedtasks,andasummaryofrelatedcontrolobjectivesforeffectivemanagement.ItiscriticalfortheprojectmanagertoestablishandmonitorcontrolobjectivesduringeachSDLCphasewhileexecutingprojects.ControlobjectiveshelptoprovideaclearstatementofthedesiredresultorpurposeandshouldbeusedthroughouttheentireSDLCprocess.Controlobjectivescanbegroupedintomajorcategories(Domains),andrelatetotheSDLCphasesasshowninthefigure.TomanageandcontrolanySDLCinitiative,eachprojectwillberequiredtoestablishsomedegreeofaWorkBreakdownStructure(WBS)tocaptureandscheduletheworknecessarytocompletetheproject.TheWBSandallprogrammaticmaterialshouldbekeptinthe“ProjectDescription”sectionoftheprojectnotebook.TheWBSformatismostlylefttotheprojectmanagertoestablishinawaythatbestdescribestheprojectwork.TherearesomekeyareasthatmustbedefinedintheWBSaspartoftheSDLCpolicy.ThefollowingdiagramdescribesthreekeyareasthatwillbeaddressedintheWBSinamannerestablishedbytheprojectmanager.
image/svg+xml21Diagram:SDLCPhasesRelatedtoManagementControls2.2.5AdvantagesofSDLCmodel:WithanSDLCModel,developerswillhaveaclearideaonwhatshouldbeorshouldn’tbebuilt.Sincetheyalreadyhaveanideaontheproblemsthatshouldbeanswered,adetailedplancouldbecreatedfollowingacertainSDLCmodel.WithanSDLCmodel,developerscouldevencreateaprogramthatwillanswerdifferentproblemsat thesametime.Sinceeverythingwillbelaidoutbeforeasinglecodeiswritten,thegoalisclearandcouldbeimplementedontime.Althoughthereisagreatpossibilityofdeviationfromtheplan,agoodprojectmanagerwilltakecareofthatconcern.WithanSDLCModel,programsbuiltwillhaveacleardocumentationofdevelopment,structureandevencoding.Incasethereareproblemsoncetheprogramisadoptedforpublicuse,developerswillalwayshavethedocumentationtorefertowhentheyneedtolookforanyloopholes.Insteadoftestingitoverandoveragainwhichwillstoptheimplementationforawhile,developerswilljustlookatthedocumentationandperformpropermaintenanceprogram.ThismeansSDLCwillbreathemorelifetotheprogram.Insteadoffrustratingdevelopersinuessworkifsomethinggoeswrong,SDLCwillmakesureeverythinggoessmoothly.Itwillalsobeatoolformaintenance,ensuringtheprogramcreatedwilllastforalongtime.
image/svg+xml222.2.6DisadvantagesofSDLCModel:ThinkingaboutthedisadvantagesofaSDLCmodelislikelookingforaneedleinthehaystack.ButtheclosestdisadvantageanyonecouldthinkofSDLCisthedifferencebetweenwhatiswritteninpaperandwhatisactuallyimplemented.Therearethingsthatarehappeningintheactualworkthatthepaperdoesn’tsee.Thisgivesagoodimpressionfortheclientsespeciallyfor3rdpartydevelopersbutwhenthesoftwareisactuallylaunchedit’sonaverybadsituation.TheactualsituationofsoftwaredevelopmentcouldbecoveredbyfancypaperworkofSDLC.AnotherdisadvantageofaprogramorsoftwarethatfollowstheSDLCprogramisitencouragesstiffimplementationinsteadofpushingforcreativityindifferentoftware.AlthoughthereareSDLCmodelswhereprogrammerscouldapplytheircreativejuices,it’salwaysintherealmofwhatisneededinsteadoffreelyimplementingwhatthedevelopersthinkofnecessaryinthepresentenvironment.Therearesomanythingsthatcouldbedonebydevelopersiftherearenoboundariesorlimitationsinwhatshouldbedeveloped.2.3WORKBREAKDOWNSTRUCTUREORGANIZATION:TheuppersectionoftheWorkBreakdownStructure(WBS)shouldidentifythemajorphasesandmilestonesoftheprojectinasummaryfashion.Inaddition,theuppersectionshouldprovideanoverviewofthefullscopeandtimelineoftheprojectandwillbepartoftheinitialprojectdescriptioneffortleadingtoprojectapproval.ThemiddlesectionoftheWBSisbasedonthesevenSystemsDevelopmentLifeCycle(SDLC)phasesasaguideforWBStaskdevelopment.TheWBSelementsshouldconsistofmilestonesand“tasks”asopposedto“activities”andhaveadefinitiveperiod(usuallytwoweeksormore).Eachtaskmusthaveameasurableoutput(e.g.document,decision,oranalysis).AWBStaskmayrelyononeormoreactivities(e.g.softwareengineering,systemsengineering)andmayrequireclosecoordinationwithothertasks,eitherinternalorexternaltotheproject.AnypartoftheprojectneedingsupportfromcontractorsshouldhaveaStatementofwork(SOW)writtentoincludetheappropriatetasksfromtheSDLCphases.
image/svg+xml23ForEx:FollowingDiagramindicatesExampleofaproductworkbreakdownstructureofanaircraftsystem.2.4 ITERATIVE AND INCREMENTALDEVELOPMENTMODEL:IterativeandIncrementaldevelopmentisattheheartofacyclicsoftwaredevelopmentprocessdevelopedinresponsetotheweaknessesofthewaterfallmodel.Itstartswithaninitialplanningandendswithdeploymentwiththecyclicinteractionsinbetween.IterativeandincrementaldevelopmentisessentialpartsoftheRationalUnifiedProcess, ExtremeProgrammingandgenerallythevariousagilesoftwaredevelopmentframeworks.
image/svg+xml24Diagram:Aniterativedevelopmentmodel2.4.1Iterative/IncrementalDevelopmentIncrementaldevelopmentslicesthesystemfunctionalityintoincrements(portions).Ineachincrement,asliceoffunctionalityisdeliveredthroughcross-disciplinework,fromtherequirementstothedeployment.Theunifiedprocessgroupsincrements/iterationsintophases:inception,elaboration,construction,andtransition.Inceptionidentifiesprojectscope,risks,andrequirements(functionalandnon-functional)atahighlevelbutinenoughdetailthatworkcanbeestimated.Elaborationdeliversaworkingarchitecturethatmitigatesthetoprisksandfulfillsthenon-functionalrequirements.Constructionincrementallyfills-inthearchitecturewithproduction-readycodeproducedfromanalysis,design,implementation,andtestingofthefunctionalrequirements.Transitiondeliversthesystemintotheproductionoperatingenvironment
image/svg+xml25Diagram:Iterative/Incremental Development2.5EXTREMEPROGRAMMING:ExtremeProgramming(XP)isasoftwaredevelopmentmethodologywhichisintendedtoimprovesoftwarequalityandresponsivenesstochangingcustomerrequirements.Asatypeofagilesoftwaredevelopment,itadvocatesfrequent"releases"inshortdevelopmentcycles(timeboxing),whichisintendedtoimproveproductivityandintroducecheckpointswherenewcustomerrequirementscanbeadopted.RulesforExtremeProgramming:!Planning!Managing!Coding!Designing!Testing2.5.1GoalsofExtremeProgrammingModel:ExtremeProgrammingExplaineddescribesExtremeProgrammingasasoftwaredevelopmentdisciplinethatorganizespeopletoproducehigherqualitysoftwaremoreproductively.Intraditionalsystemdevelopmentmethods(suchasSSADMorthewaterfallmodel)therequirementsforthesystemaredeterminedatthebeginningofthedevelopmentprojectand
image/svg+xml26therequirementsatalaterstage(acommonfeatureofsoftwareengineeringprojects)willbehigh.Likeotheragilesoftwaredevelopmentmethods,XPattemptstoreducethecostofchangebyhavingmultipleshortdevelopmentcycles,ratherthanonelongone.Inthisdoctrinechangesareanatural,inescapableanddesirableaspectofsoftwaredevelopmentprojects,andshouldbeplannedforinsteadofattemptingtodefineastablesetofrequirements.2.6RADMODEL:It is RapidApplicationdevelopmentmodel.RapidApplicationDevelopment(RAD)referstoatypeofsoftwaredevelopmentmethodologythatusesminimalplanninginfavourofrapidprototyping.The"planning"ofsoftwaredevelopedusingRADisinterleavedwithwritingthesoftwareitself.Thelackofextensivepre-planninggenerallyallowssoftwaretobewrittenmuchfaster,andmakesit easiertochangerequirements.RapidApplicationDevelopmentisasoftwaredevelopmentmethodologythatinvolvestechniqueslikeiterativedevelopmentandsoftwareprototyping.AccordingtoWhitten(2004),itisamergerofvariousstructuredtechniques,especiallydata-drivenInformationEngineering,withprototypingtechniquestoacceleratesoftwaresystemsdevelopment.2.6.1PracticalApplicationofRADModel:Whenorganizationsadoptrapiddevelopmentmethodologies,caremustbetakentoavoidroleandresponsibilityconfusionandcommunicationbreakdownwithinthedevelopmentteam,andbetweentheteamandtheclient.Inaddition,especiallyincaseswheretheclientisabsentornotabletoparticipatewithauthorityinthedevelopmentprocess,thesystemanalystshouldbeendowedwiththisauthorityonbehalfoftheclienttoensureappropriateprioritisationofnon-functionalrequirements.Furthermore,noincrementofthesystemshouldbedevelopedwithoutathoroughandformallydocumenteddesignphase.2.6.2AdvantagesoftheRADmethodology:1.Flexibleandadaptabletochanges.2.Prototypingapplicationsgiveusersatangibledescriptionfromwhichtojudgewhethercriticalsystemrequirementsarebeingmetbythesystem.Reportoutputcanbecomparedwithexistingreports.Dataentryformscanbereviewedforcompletenessofallfields,navigation,dataaccess(dropdownlists,checkboxes,radiobuttons,etc.).
image/svg+xml273.RADgenerallyincorporatesshortdevelopmentcycles-usersseetheRADproductquickly.4.RADinvolvesuserparticipationtherebyincreasingchancesofearlyusercommunityacceptance.5.RADrealizesanoverallreductioninprojectrisk.6.Pareto's80-20Ruleusuallyresultsinreducingthecoststocreateacustomsystem2.6.3DisadvantagesofRADmethodology:1.Unknowncostofproduct.Asmentionedabove,thisproblemcanbealleviatedbythecustomeragreeingtoalimitedamountofreworkintheRADprocess.2.ItmaybedifficultformanyimportantuserstocommitthetimerequiredforsuccessoftheRADprocess.2.7 UNIFIEDPROCESSMODEL:TheUnifiedSoftwareDevelopmentProcessorUnifiedProcessisapopulariterativeandincrementalsoftwaredevelopmentprocessframework.Thebest-knownandextensivelydocumentedrefinementoftheUnifiedProcessistheRationalUnifiedProcess(RUP).Diagram:ProfileofatypicalprojectshowingtherelativesizesofthefourphasesoftheUnifiedProcessTheUnifiedProcessisnotsimplyaprocess,butratheranextensibleframeworkwhichshouldbecustomizedforspecificorganizationsorprojects.TheRationalUnifiedProcessis,similarly,acustomizableframework.AsaresultitisoftenimpossibletosaywhetherarefinementoftheprocesswasderivedfromUPorfromRUP,andsothenamestendtobeusedinterchangeably.
image/svg+xml282.7.1Characteristics:IterativeandIncrementalTheUnifiedProcessisaniterativeandincrementaldevelopmentprocess.TheElaboration,ConstructionandTransitionphasesaredividedintoaseriesoftimeboxediterations.(TheInceptionphasemayalsobedividedintoiterationsforalargeproject.)Eachiterationresultsinanincrement,whichisareleaseofthesystemthatcontainsaddedorimprovedfunctionalitycomparedwiththepreviousrelease.Althoughmostiterationswillincludeworkinmostoftheprocessdisciplines(e.g.Requirements,Design,Implementation,Testing)therelativeeffortandemphasiswillchangeoverthecourseoftheproject.2.8USECASEDRIVENIntheUnifiedProcess,usecasesareusedtocapturethefunctionalrequirementsandtodefinethecontentsoftheiterations.Eachiterationtakesasetofusecasesorscenariosfromrequirementsallthewaythroughimplementation,testanddeployment.2.8.1ArchitectureCentric:TheUnifiedProcessinsiststhatarchitecturesitattheheartoftheprojectteam'seffortstoshapethesystem.Sincenosinglemodelissufficienttocoverallaspectsofasystem,theUnifiedProcesssupportsmultiplearchitecturalmodelsandviews.OneofthemostimportantdeliverablesoftheprocessistheexecutablearchitecturebaselinewhichiscreatedduringtheElaborationphase.Thispartialimplementationofthesystemservestovalidatethearchitectureandactasafoundationforremainingdevelopment.2.8.2RiskFocused:TheUnifiedProcessrequirestheprojectteamtofocusonaddressingthemostcriticalrisksearlyintheprojectlifecycle.Thedeliverablesofeachiteration,especiallyintheElaborationphase,mustbeselectedinordertoensurethatthegreatestrisksareaddressedfirst.
image/svg+xml29TheUnifiedProcessdividestheprojectintofourphases:InceptionElaborationConstructionTransition2.8.3InceptionPhase:Inceptionisthesmallestphaseintheproject,andideallyitshouldbequiteshort.IftheInceptionPhaseislongthenitmaybeanindicationofexcessiveup-frontspecification,whichiscontrarytothespiritoftheUnifiedProcess.ThefollowingaretypicalgoalsfortheInceptionphase.EstablishajustificationorbusinesscasefortheprojectEstablishtheprojectscopeandboundaryconditionsOutlinetheusecasesandkeyrequirementsthatwilldrivethedesigntradeoffsOutlineoneormorecandidatearchitecturesIdentifyrisksPrepareapreliminaryprojectscheduleandcostestimateTheLifecycleObjectiveMilestonemarkstheendoftheInceptionphase.2.8.4ElaborationPhase:DuringtheElaborationphasetheprojectteamisexpectedtocaptureahealthymajorityofthesystemrequirements.However,theprimarygoalsofElaborationaretoaddressknownriskfactorsandtoestablishandvalidatethesystemarchitecture.Commonprocessesundertakeninthisphaseincludethecreationofusecasediagrams,conceptualdiagrams(classdiagramswithonlybasicnotation)andpackagediagrams(architecturaldiagrams).ThearchitectureisvalidatedprimarilythroughtheimplementationofanExecutableArchitectureBaseline.Thisisapartialimplementationofthesystemwhichincludesthecore,mostarchitecturallysignificant,components.Itisbuiltinaseriesofsmall,timeboxediterations.BytheendoftheElaborationphasethesystemarchitecturemusthavestabilizedandtheexecutablearchitecturebaselinemustdemonstratethatthearchitecturewillsupportthekeysystemfunctionalityandexhibittherightbehaviorintermsofperformance,scalabilityandcost.
image/svg+xml30ThefinalElaborationphasedeliverableisaplan(includingcostandscheduleestimates)fortheConstructionphase.Atthispointtheplanshouldbeaccurateandcredible,sinceitshouldbebasedontheElaborationphaseexperienceandsincesignificantriskfactorsshouldhavebeenaddressedduringtheElaborationphase.TheLifecycleArchitectureMilestonemarkstheendoftheElaborationphase.2.8.5ConstructionPhase:Constructionisthelargestphaseintheproject.InthisphasetheremainderofthesystemisbuiltonthefoundationlaidinElaboration.Systemfeaturesareimplementedinaseriesofshort,timeboxediterations.Eachiterationresultsinanexecutablereleaseofthesoftware.Itiscustomarytowritefulltextusecasesduringtheconstructionphaseandeachonebecomesthestartofanewiteration.CommonUML(UnifiedModellingLanguage)diagramsusedduringthisphaseincludeActivity,Sequence,Collaboration,State(Transition)andInteractionOverviewdiagrams.TheInitialOperationalCapabilityMilestonemarkstheendoftheConstructionphase.2.8.6TransitionPhaseThefinalprojectphaseisTransition.Inthisphasethesystemisdeployedtothetargetusers.Feedbackreceivedfromaninitialrelease(orinitialreleases)mayresultinfurtherrefinementstobeincorporatedoverthecourseofseveralTransitionphaseiterations.TheTransitionphasealsoincludessystemconversionsandusertraining.2.9EVOLUTIONARYSOFTWAREPROCESSMODEL:SoftwareProductscanbeperceivedasevolvingoveratimeperiod.However,neithertheLinearSequentialModelnorthePrototypeModelappliesthisaspecttosoftwareproduction.TheLinearSequentialModelwasdesignedforstraight-linedevelopment.ThePrototypeModelwasdesignedtoassistthecustomerinunderstandingrequirementsandisdesignedtoproduceavisualizationofthefinalsystem.ButtheEvolutionaryModelstaketheconceptof“evolution”intotheengineeringparadigm.ThereforeEvolutionaryModelsareiterative.Theyarebuiltinamannerthatenablessoftwareengineerstodevelopincreasinglymorecomplexversionsofthesoftware.
image/svg+xml312.9.1TheIncrementalModel:TheIncrementalModelcombineselementsoftheLinearSequentialModel(appliedrepetitively)withtheiterativephilosophyofprototyping.WhenanIncrementalModelisused,thefirstincrementisoftenthe“coreproduct”.Thesubsequentiterationsarethesupportingfunctionalitiesortheadd-onfeaturesthatacustomerwouldliketosee.Morespecifically,themodelisdesigned,implementedandtestedasaseriesofincrementalbuildsuntiltheproduct is finished.2.10THESPIRALMODEL:TheSpiralModelisanevolutionarysoftwareprocessmodelthatcouplestheiterativenatureofprototypingwiththecontrolledandsystematicaspectsoftheLinearSequentialModel.UsingtheSpiralModelthesoftwareisdevelopedinaseriesofincrementalreleases.UnliketheIterationModelwhereinthefirstproductisacoreproduct,intheSpiralModeltheearlyiterationscouldresultinapapermodeloraprototype.However,duringlateriterationsmorecomplexfunctionalitiescouldbeadded.ASpiralModel,combinestheiterativenatureofprototypingwiththecontrolledandsystematicaspectsoftheWaterfallModel,thereinprovidingthepotentialforrapiddevelopmentofincrementalversionsofthesoftware.ASpiralModelisdividedintoanumberofframeworkactivities,alsocalledtaskregions.Thesetaskregionscouldvaryfrom3-6innumberandtheyare:!CustomerCommunication-tasksrequiredtoestablisheffectivecommunicationbetweenthedeveloperandcustomer.!Planning-tasksrequireddefiningresources,timelinesandotherprojectrelatedinformation/items.!RiskAnalysis-tasksrequiredtoassessthetechnicalandmanagementrisks.!Engineering-tasksrequiredtobuildoneormorerepresentationoftheapplication.!Construction&Release-tasksrequiredtoconstruct,testandsupport(eg.Documentationandtraining)!Customerevaluation-tasksrequiredtoobtainperiodiccustomerfeedbacksothattherearenolastminutesurprises.
image/svg+xml322.10.1AdvantagesoftheSpiralModel:!Realisticapproachtothedevelopmentbecausethesoftwareevolvesastheprocessprogresses.Inaddition,thedeveloperandtheclientbetterunderstandandreacttorisksateachevolutionary level.!Themodelusesprototypingasariskreductionmechanismandallowsforthedevelopmentofprototypesatanystageoftheevolutionarydevelopment.!Itmaintainsasystematicstepwiseapproach,liketheclassicwaterfallmodel,andalsoincorporatesintoitaniterativeframeworkthatmorereflecttherealworld.2.10.2DisadvantagesoftheSpiralModel:!Oneshouldpossessconsiderablerisk-assessmentexpertise!Ithasnotbeenemployedasmuchprovenmodels(e.g.theWaterfallModel)andhencemayprovedifficultto‘sell’totheclient.2.11 CONCURRENT DEVELOPMENTMODEL:Theconcurrentdevelopmentmodel,sometimescalledconcurrentengineering.Theconcurrentprocessmodelcanberepresentedschematicallyasaseriesofmajortechnicalactivities,tasks,andtheirassociatedstates.Forexample,theengineeringactivitydefinedforthespiralmodelisaccomplishedbyinvokingthefollowingtasks:prototypingand/oranalysismodeling,requirementsspecification,anddesign.Theactivity-analysis-maybeinanyoneofthestatesnotedatanygiventime.Similarly,otheractivities(e.g.,designorcustomercommunication)canberepresentedinananalogousmanner.Allactivitiesexistconcurrentlybutresideindifferentstates.Forexample,earlyinaprojectthecustomercommunicationactivityhascompleteditsfirstiterationandexistsintheawaitingchangesstate.Theanalysisactivity(whichexistedinthenonestatewhileinitialcustomercommunicationwascompleted)nowmakesatransitionintotheunderdevelopmentstate.If,however,thecustomerindicatesthatchangesinrequirementsmustbemade,theanalysisactivitymovesfromtheunderdevelopmentstateintotheawaitingchangesstate.
image/svg+xml332.12SUMMARY:Thischapterconcernwithsystemandtheirdevelopmentmodels.ThesystemfollowstheirdifferentapproacheswiththehelpofdifferenttypesModel.Questions:1.ExplainSDLCindetail?Ans:refer2.2.42.Explainincrementalanditerativemodelindetail?Ans:refer2.4
image/svg+xmlANALYSIS:INVESTIGATINGSYSTEMREQUIREMENTS
image/svg+xml353.1INTRODUCTION:Systemisconcernedwithvariousfactors.Systemrequireinternalandexternalinformation/datafortoprocessingfunctions.3.2SYSTEMANALYSIS:Inthisphase,thecurrentsystemisstudiedindetail.Apersonresponsiblefortheanalysisofthesystemisknownasanalyst.Insystemanalysis,theanalystconductsthefollowingactivities.3.2.1NeedsSystemAnalysis:Thisactivityisknownasrequirementsanalysis.Inthissteptheanalystsumsuptherequirementsofthesystemfromtheuserandthemanagers.Thedevelopedsystemshouldsatisfytheserequirementsduringtestingphase.3.2.2DataGathering:Inthisstep,thesystemanalystcollectsdataaboutthesystemtobedeveloped.Heusesdifferenttoolsandmethods,dependingonsituation.Theseare:3.2.3WrittenDocuments:Theanalystmaycollecttheinformation/datafromwrittendocumentsavailablefrommanual-filesofanorganization.Thismethodofdatagatheringisnormallyusedifyouwantto
image/svg+xml36computerizetheexistingmanualsystemorupgradetheexistingcomputerbasedsystem.Thewrittendocumentsmaybereports,forms,memos,businessplans,policystatements,organizationalchartsandmanyothers.Thewrittendocumentsprovidevaluableinformationabouttheexistingsystem.3.2.4Interviews:Interviewisanotherdatagatheringtechnique.Theanalyst(orprojectteammembers)interviews,managers,users/clients,suppliers,andcompetitorstocollecttheinformationaboutthesystem.Itmustbenotedthatthequestionstobeaskedfromthemshouldbeprecise,relevantandtothepoint.3.2.5Questionnaires:QuestionnairesarethefeedbackformsusedtocollectInformation.Theinterviewtechniquetocollectinformationistime-consumingmethod,soQuestionnairesaredesignedtocollectinformationfromasmanypeopleaswelike.ItisveryconvenientandinexpensivemethodtocollectinformationbutsometimestheresponsemaybeConfusingorunclearandinsufficient.3.2.6Observations:Inadditiontotheabove-mentionedthreetechniquestocollectinformation,theanalyst(orhisteam)maycollectInformationthroughobservation.Inthiscollecttechnique,theworking,behavior,andotherrelatedinformationoftheexistingsystemareobserved.Itmeansthatworkingofexistingsystemiswatchedcarefully.3.2.7SamplingIftherearelargenumbersofpeopleoreventsinvolvedinThesystem,wecanusesamplingmethodtocollectinformation.Inthismethod,onlyapartofthepeopleoreventsinvolvedareusedtocollectinformation.Forexampletotestthequalityofafruit,wetestapieceofthefruit.3.3 DATAANALYSISAftercompletionofgatheringstepthecollecteddataaboutthesystemisanalyzedtoensurethatthedataisaccurateandcomplete.Forthispurpose,varioustoolsmaybeused.Themostpopularandcommonlyusedtoolsfordataanalysisare:!DFDs(DataFlowDiagrams)!SystemFlowcharts!ConnectivityDiagrams!GridCharts!DecisionTablesetc.
image/svg+xml373.3.1AnalysisReport:Aftercompletingtheworkofanalysis,therequirementscollectedforthesystemaredocumentedinapresentableform.Itmeansthattheanalysisreportisprepared.Itisdoneforreviewandapprovaloftheprojectfromthehighermanagement.Thisreportshouldhavethreeparts.!First,itshouldexplainhowthecurrentsystemworks.!Second,itshouldexplaintheproblemsintheexistingsystem.!Finally, itshoulddescribetherequirementsforthenewsystemandmakerecommendationsforfuture.3.4 FACT FINDINGMETHODS:Tostudyanysystemtheanalystneedstodocollectfactsandallrelevantinformation.thefactswhenexpressedinquantitativeformaretermedasdata.Thesuccessofanyprojectisdependedupontheaccuracyofavailabledata.Accurateinformationcanbecollectedwithhelpofcertainmethods/techniques.Thesespecificmethodsforfindinginformationofthesystemaretermedasfactfindingtechniques.Interview,Questionnaire,RecordViewandObservationsarethedifferentfactfindingtechniquesusedbytheanalyst.Theanalystmayusemorethanonetechniqueforinvestigation.3.4.1 InterviewThismethodisusedtocollecttheinformationfromgroupsorindividuals.Analystselectsthepeoplewhoarerelatedwiththesystemfortheinterview.Inthismethodtheanalystsitsfacetofacewiththepeopleandrecordstheirresponses.Theinterviewermustplaninadvancethetypeofquestionshe/sheisgoingtoaskandshouldbereadytoansweranytypeofquestion.Heshouldalsochooseasuitableplaceandtimewhichwillbecomfortablefortherespondent.Theinformationcollectedisquiteaccurateandreliableastheinterviewercanclearandcrosscheckthedoubtsthereitself.Thismethodalsohelpsgaptheareasofmisunderstandingsandhelptodiscussaboutthefutureproblems.StructuredandunstructuredarethetwosubcategoriesofInterview.Structuredinterviewismoreformalinterviewwherefixedquestionsareaskedandspecificinformationiscollectedwhereasunstructuredinterviewismoreorlesslikeacasualconversationwherein-depthareastopicsarecoveredandotherinformationapartfromthetopicmayalsobeobtained.
image/svg+xml383.4.2Questionnaire:Itisthetechniqueusedtoextractinformationfromnumberofpeople.Thismethodcanbeadoptedandusedonlybyanskillfulanalyst.TheQuestionnaireconsistsofseriesofquestionsframedtogetherinlogicalmanner.Thequestionsaresimple,clearandtothepoint.Thismethodisveryusefulforattaininginformationfrompeoplewhoareconcernedwiththeusageofthesystemandwhoarelivingindifferentcountries.Thequestionnairecanbemailedorsendtopeoplebypost.Thisisthecheapestsourceoffactfinding.3.4.3RecordViewTheinformationrelatedtothesystemispublishedinthesourceslikenewspapers,magazines,journals,documentsetc.Thisrecordreviewhelpstheanalysttogetvaluableinformationaboutthesystemandtheorganization.3.4.4ObservationUnliketheotherfactfindingtechniques,inthismethodtheanalysthimselfvisitstheorganizationandobservesandunderstandtheflowofdocuments,workingoftheexistingsystem,theusersofthesystemetc.Forthismethodtobeadoptedittakesananalysttoperformthisjobasheknowswhichpointsshouldbenoticedandhighlighted.Inanalystmayobservetheunwantedthingsaswellandsimplycausedelayinthedevelopmentofthenewsystem.3.5 CONDUCTINTERVIEWS:Interviewsareparticularlyusefulforgettingthestorybehindaparticipant'sexperiences.Theinterviewercanpursuein-depthinformationaroundatopic.Interviewsmaybeusefulasfollow-uptocertainrespondentstoquestionnaires,e.g.,tofurtherinvestigatetheirresponses.Usuallyopen-endedquestionsareaskedduringinterviews.Beforeyoustarttodesignyourinterviewquestionsandprocess,clearlyarticulatetoyourselfwhatproblemorneedistobeaddressedusingtheinformationtobegatheredbytheinterviews.Thishelpsyoukeepclearfocusontheintentofeachquestion.3.5.1PreparationforInterview:1.Chooseasettingwithlittledistraction.Avoidloudlightsornoises,ensuretheintervieweeiscomfortable(youmightaskthemiftheyare),etc.Often,theymayfeelmorecomfortableattheirownplacesofworkorhomes.
image/svg+xml392.Explainthepurposeoftheinterview.3.Addresstermsofconfidentiality.Noteanytermsofconfidentiality.(Becarefulhere.Rarelycanyouabsolutelypromiseanything.Courtsmaygetaccesstoinformation,incertaincircumstances.)Explainwhowillgetaccesstotheiranswersandhowtheiranswerswillbeanalyzed.Iftheircommentsaretobeusedasquotes,gettheirwrittenpermissiontodoso.Seegettinginformedconsent.4.Explaintheformatoftheinterview.Explainthetypeofinterviewyouareconductinganditsnature.Ifyouwantthemtoaskquestions,specifyifthey'retodosoastheyhavethemorwaituntiltheendoftheinterview.5.Indicatehowlongtheinterviewusuallytakes.6.Tellthemhowtogetintouchwithyoulateriftheywantto.7.Askthemiftheyhaveanyquestionsbeforeyoubothgetstartedwiththeinterview.8.Don'tcountonyourmemorytorecalltheiranswers.Askforpermissiontorecordtheintervieworbringalongsomeonetotakenotes.3.5.2TypesofInterviews:1.Informal,conversationalinterview-Nopredeterminedquestionsareasked,inordertoremainasopenandadaptableaspossibletotheinterviewee'snatureandpriorities;duringtheinterview,theinterviewer"goeswiththeflow".2.Generalinterviewguideapproach-theguideapproachisintendedtoensurethatthesamegeneralareasofinformationarecollectedfromeachinterviewee;thisprovidesmorefocusthantheconversationalapproach,butstillallowsadegreeoffreedomandadaptabilityingettinginformationfromtheinterviewee.3.Standardized,open-endedinterview-here,thesameopen-endedquestionsareaskedtoallinterviewees(anopen-endedquestioniswhererespondentsarefreetochoosehowtoanswerthequestion,i.e.,theydon'tselect"yes"or"no"orprovideanumericrating,etc.);thisapproachfacilitatesfasterinterviewsthatcanbemoreeasilyanalyzedandcompared.4.Closed,fixed-responseinterview-whereallintervieweesareaskedthesamequestionsandaskedtochooseanswersfromamongthesamesetofalternatives.Thisformatisusefulforthosenotpracticedininterviewing.
image/svg+xml403.5.3TypesofTopicsinQuestions:1.Behaviors-aboutwhatapersonhasdoneorisdoing2.Opinions/values-aboutwhatapersonthinksaboutatopic3.Feelings-notethatrespondentssometimesrespondwith"Ithink..."sobecarefultonotethatyou'relookingforfeelings4.Knowledge-togetfactsaboutatopic5.Sensory-aboutwhatpeoplehaveseen,touched,heard,tastedorsmelled6.Background/demographics-standardbackgroundquestions,suchasage,education,etc.3.5.4WordingofQuestions:1.Wordingshouldbeopen-ended.Respondentsshouldbeabletochoosetheirowntermswhenansweringquestions.2.Questionsshouldbeasneutralaspossible.Avoidwordingthatmightinfluenceanswers,e.g.,evocative,judgmentalwording.3.Questionsshouldbeaskedoneatatime.4.Questionsshouldbewordedclearly.Thisincludesknowinganytermsparticulartotheprogramortherespondents'culture.5.Becarefulasking"why"questions.Thistypeofquestioninfersacause-effectrelationshipthatmaynottrulyexist.Thesequestionsmayalsocauserespondentstofeeldefensive,e.g.,thattheyhavetojustifytheirresponse,whichmayinhibittheirresponsestothisandfuturequestions3.6OBSERVE&DOCUMENTBUSINESSPROCESSES:Businessanalysisisthedisciplineofidentifyingbusinessneedsanddeterminingsolutionstobusinessproblems.Solutionsoftenincludeasystemsdevelopmentcomponent,butmayalsoconsistofprocessimprovementororganizationalchangeorstrategicplanningandpolicydevelopment.ThepersonwhocarriesoutthistaskiscalledabusinessanalystorBA.Businessanalysisasadisciplinehasaheavyoverlapwithrequirementsanalysissometimesalsocalledrequirementsengineering,butfocusesonidentifyingthechangestoan
image/svg+xml41organizationthatarerequiredforittoachievestrategicgoals.Thesechangesincludechangestostrategies,structures,policies,processes,andinformationsystems.3.6.1Examplesofbusinessanalysisinclude:Enterpriseanalysisorcompanyanalysisfocusesonunderstandingtheneedsofthebusinessasawhole,itsstrategicdirection,andidentifyinginitiativesthatwillallowabusinesstomeetthosestrategicgoals.Requirementsplanningandmanagementinvolvesplanningtherequirementsdevelopmentprocess,determiningwhichrequirementsarethehighestpriorityforimplementation,andmanagingchange.Requirementselicitationdescribestechniquesforcollectingrequirementsfromstakeholdersinaproject.Requirementsanalysisdescribeshowtodevelopandspecifyrequirementsinenoughdetailtoallowthemtobesuccessfullyimplementedbyaprojectteam.Requirementscommunicationdescribestechniquesforensuringthatstakeholdershaveasharedunderstandingoftherequirementsandhowtheywillbeimplemented.Solutionassessmentandvalidationdescribeshowthebusinessanalystcanverifythecorrectnessofaproposedsolution.3.7ROLESOFBUSINESSANALYSTS:Asthescopeofbusinessanalysisisverywide,therehasbeenatendencyforbusinessanalyststospecializeinoneofthethreesetsofactivitieswhichconstitutethescopeofbusinessanalysis.StrategistOrganizationsneedtofocusonstrategicmattersonamoreorlesscontinuousbasisinthemodernbusinessworld.Businessanalysts,servingthisneed,arewell-versedinanalyzingthestrategicprofileoftheorganizationanditsenvironment,advisingseniormanagementonsuitablepolicies,andtheeffectsofpolicydecisions.
image/svg+xml42ArchitectOrganizationsmayneedtointroducechangetosolvebusinessproblemswhichmayhavebeenidentifiedbythestrategicanalysis,referredtoabove.Businessanalystscontributebyanalyzingobjectives,processesandresources,andsuggestingwaysbywhichre-designSystemsanalystThereistheneedtoalignITDevelopmentwiththesystemsactuallyrunninginproductionfortheBusiness.Along-standingprobleminbusinessishowtogetthebestreturnfromITinvestments,whicharegenerallyveryexpensiveandofcritical,oftenstrategic,importance.ITdepartments,awareoftheproblem,oftencreateabusinessanalystroletobetterunderstand,anddefinetherequirementsfortheirITsystems.Althoughtheremaybesomeoverlapwiththedeveloperandtestingroles,thefocusisalwaysontheITpartofthechangeprocess,andgenerally,thistypeofbusinessanalystgetsinvolved,onlywhenacaseforchangehasalreadybeenmadeanddecidedupon.3.7.1Businessprocessimprovement:Abusinessprocessimprovement(BPI)typicallyinvolvessixsteps1.SelectionofprocessteamsandleaderProcessteams,comprising2-4employeesfromvariousdepartmentsthatareinvolvedintheparticularprocess,aresetup.Eachteamselectsaprocessteamleader,typicallythepersonwhoisresponsibleforrunningtherespectiveprocess.2.ProcessanalysistrainingTheselectedprocessteammembersaretrainedinprocessanalysisanddocumentationtechniques.3.ProcessanalysisinterviewThemembersoftheprocessteamsconductseveralinterviewswithpeopleworkingalongtheprocesses.Duringtheinterview,theygatherinformationaboutprocessstructure,aswellasprocessperformancedata.4.ProcessdocumentationTheinterviewresultsareusedtodrawafirstprocessmap.Previouslyexistingprocessdescriptionsarereviewedandintegrated,whereverpossible.Possibleprocessimprovements,discussedduringtheinterview,areintegratedintotheprocessmaps.
image/svg+xml435.ReviewcycleThedraftdocumentationisthenreviewedbytheemployeesworkingintheprocess.Additionalreviewcyclesmaybenecessaryinordertoachieveacommonview(mentalimage)oftheprocesswithallconcernedemployees.Thisstageisaniterativeprocess.6.ProblemanalysisAthoroughanalysisofprocessproblemscanthenbeconducted,basedontheprocessmap,andinformationgatheredabouttheprocess.Atthistimeoftheproject,processgoalinformationfromthestrategyauditisavailableaswell,andisusedtoderivemeasuresforprocessimprovement.3.7.2Goalofbusinessanalysts:Businessanalystswanttoachievethefollowingoutcomes:!Reducewaste!Createsolutions!Completeprojectsontime!Improveefficiency!Documenttherightrequirements3.8BUILDPROTOTYPES:Softwareprototyping,anactivityduringcertainsoftwaredevelopment,isthecreationofprototypes,i.e., incompleteversionsofthesoftwareprogrambeingdeveloped.Aprototypetypicallysimulatesonlyafewaspectsofthefeaturesoftheeventualprogram, andmaybecompletelydifferentfromtheeventualimplementation.Theconventionalpurposeofaprototypeistoallowusersofthesoftwaretoevaluatedevelopers'proposalsforthedesignoftheeventualproductbyactuallytryingthemout,ratherthanhavingtointerpretandevaluatethedesignbasedondescriptions.Prototypingcanalsobeusedbyenduserstodescribeandproverequirementsthatdevelopershavenotconsidered,so"controllingtheprototype"canbeakeyfactorinthecommercialrelationshipbetweendevelopersandtheirclients.3.8.1PrototypingProcess:Theprocessofprototypinginvolvesthefollowingsteps1.IdentifybasicrequirementsDeterminebasicrequirementsincludingtheinputandoutputinformationdesired.Details,suchassecurity,cantypicallybeignored.
image/svg+xml442.DevelopInitialPrototypeTheinitialprototypeisdevelopedthatincludesonlyuserinterfacesReviewThecustomers,includingend-users,examinetheprototypeandprovidefeedbackonadditionsorchanges.3.ReviseandEnhancethePrototypeUsingthefeedbackboththespecificationsandtheprototypecanbeimproved.Negotiationaboutwhatiswithinthescopeofthecontract/productmaybenecessary.3.8.2Advantagesofprototyping:Therearemanyadvantagestousingprototypinginsoftwaredevelopmentsometangible,someabstract.Reducedtimeandcosts:Prototypingcanimprovethequalityofrequirementsandspecificationsprovidedtodevelopers.Becausechangescostexponentiallymoretoimplementastheyaredetectedlaterindevelopment,theearlydeterminationofwhattheuserreallywantscanresultinfasterandlessexpensivesoftware.Improvedandincreaseduserinvolvement:Prototypingrequiresuserinvolvementandallowsthemtoseeandinteractwithaprototypeallowingthemtoprovidebetterandmorecompletefeedbackandspecifications.Thepresenceoftheprototypebeingexaminedbytheuserpreventsmanymisunderstandingsandmiscommunicationsthatoccurwheneachsidebelievetheotherunderstandswhattheysaid.Sinceusersknowtheproblemdomainbetterthananyoneonthedevelopmentteamdoes,increasedinteractioncanresultinfinalproductthathasgreatertangibleandintangiblequality.Thefinalproductismorelikelytosatisfytheusersdesireforlook,feelandperformance.3.8.3Disadvantagesofprototyping:Insufficientanalysis:Thefocusonalimitedprototypecandistractdevelopersfromproperlyanalyzingthecompleteproject.Thiscanleadtooverlookingbettersolutions,preparationofincompletespecificationsortheconversionoflimitedprototypesintopoorlyengineeredfinalprojectsthatarehardtomaintain.Further,sinceaprototypeislimitedinfunctionalityitmaynotscalewelliftheprototypeisusedasthebasisofafinaldeliverable,whichmaynotbenoticedifdevelopersaretoofocusedonbuildingaprototypeasamodel.Userconfusionofprototypeandfinishedsystem:Userscanbegintothinkthataprototype,intendedtobethrownaway,isactuallyafinalsystemthatmerelyneedstobefinishedorpolished.(Theyare,forexample,oftenunawareoftheeffortneededtoadd
image/svg+xml45error-checkingandsecurityfeatureswhichaprototypemaynothave.)Thiscanleadthemtoexpecttheprototypetoaccuratelymodeltheperformanceofthefinalsystemwhenthisisnottheintentofthedevelopers.Userscanalsobecomeattachedtofeaturesthatwereincludedinaprototypeforconsiderationandthenremovedfromthespecificationforafinalsystem.Ifusersareabletorequireallproposedfeaturesbeincludedinthefinalsystemthiscanleadtoconflict.Developermisunderstandingofuserobjectives:Developersmayassumethatuserssharetheirobjectives(e.g.todelivercorefunctionalityontimeandwithinbudget),withoutunderstandingwidercommercialissues.Forexample,userrepresentativesattendingEnterprisesoftware(e.g.PeopleSoft)eventsmayhaveseendemonstrationsof"transactionauditing"(wherechangesareloggedanddisplayedinadifferencegridview)withoutbeingtoldthatthisfeaturedemandsadditionalcodingandoftenrequiresmorehardwaretohandleextradatabaseaccesses.Usersmightbelievetheycandemandauditingoneveryfield,whereasdevelopersmightthinkthisisfeaturecreepbecausetheyhavemadeassumptionsabouttheextentofuserrequirements.Ifthedeveloperhascommitteddeliverybeforetheuserrequirementswerereviewed,developersarebetweenarockandahardplace,particularlyifusermanagementderivessomeadvantagefromtheirfailuretoimplementrequirements.Developerattachmenttoprototype:Developerscanalsobecomeattachedtoprototypestheyhavespentagreatdealofeffortproducing;thiscanleadtoproblemslikeattemptingtoconvertalimitedprototypeintoafinalsystemwhenitdoesnothaveanappropriateunderlyingarchitecture.(Thismaysuggestthatthrowawayprototyping,ratherthanevolutionaryprototyping,shouldbeused.)Excessivedevelopmenttimeoftheprototype:Akeypropertytoprototypingisthefactthatitissupposedtobedonequickly.Ifthedeveloperslosesightofthisfact,theyverywellmaytrytodevelopaprototypethatistoocomplex.Whentheprototypeisthrownawaythepreciselydevelopedrequirementsthatitprovidesmaynotyieldasufficientincreaseinproductivitytomakeupforthetimespentdevelopingtheprototype.Userscanbecomestuckindebatesoverdetailsoftheprototype,holdingupthedevelopmentteamanddelayingthefinalproduct.Expenseofimplementingprototyping:thestartupcostsforbuildingadevelopmentteamfocusedonprototypingmaybehigh.Manycompanieshavedevelopmentmethodologiesinplace,andchangingthemcanmeanretraining,retooling,orboth.Many
image/svg+xml46companiestendtojustjumpintotheprototypingwithoutbotheringtoretraintheirworkersasmuchastheyshould.3.9QUESTIONAIRE:Aquestionnaireisaresearchinstrumentconsistingofaseriesofquestionsandotherpromptsforthepurposeofgatheringinformationfromrespondents.Althoughtheyareoftendesignedforstatisticalanalysisoftheresponses,thisisnotalwaysthecase.ThequestionnairewasinventedbySirFrancisGalton.Questionnaireshaveadvantagesoversomeothertypesofsurveysinthattheyarecheap,donotrequireasmucheffortfromthequestionerasverbalortelephonesurveys,andoftenhavestandardizedanswersthatmakeitsimpletocompiledata.However,suchstandardizedanswersmayfrustrateusers.Questionnairesarealsosharplylimitedbythefactthatrespondentsmustbeabletoreadthequestionsandrespondtothem.Thus,forsomedemographicgroupsconductingasurveybyquestionnairemaynotbepractical.3.9.1QuestionConstruction:QuestiontypesUsually,aquestionnaireconsistsofanumberofquestionsthattherespondenthastoanswerinasetformat.Adistinctionismadebetweenopen-endedandclosed-endedquestions.Anopen-endedquestionaskstherespondenttoformulatehisownanswer,whereasaclosed-endedquestionhastherespondentpickananswerfromagivennumberofoptions.Theresponseoptionsforaclosed-endedquestionshouldbeexhaustiveandmutuallyexclusive.Fourtypesofresponsescalesforclosed-endedquestionsaredistinguished:!Dichotomous,wheretherespondenthastwooptions!Nominal-polytomous,wheretherespondenthasmorethantwounorderedoptions!Ordinal-polytomous,wheretherespondenthasmorethantwoorderedoptions!(Bounded)Continuous,wheretherespondentispresentedwithacontinuousscale3.9.2Basicrulesforquestionnaireitemconstruction!Usestatementswhichareinterpretedinthesamewaybymembersofdifferentsubpopulationsofthepopulationofinterest.
image/svg+xml47!Usestatementswherepersonsthathavedifferentopinionsortraitswillgivedifferentanswers.!Thinkofhavingan"open"answercategoryafteralistofpossibleanswers.!Useonlyoneaspectoftheconstructyouareinterestedinperitem.!Usepositivestatementsandavoidnegativesordoublenegatives.!Donotmakeassumptionsabouttherespondent.!Useclearandcomprehensiblewording,easilyunderstandableforalleducationallevels!Usecorrectspelling,grammarandpunctuation.!Avoiditemsthatcontainmorethanonequestionperitem(e.g.Doyoulikestrawberriesandpotatoes?)3.9.3Questionnaireadministrationmodes:Mainmodesofquestionnaireadministrationare:!Face-to-facequestionnaireadministration,whereaninterviewerpresentstheitemsorally.!Paper-and-pencilquestionnaireadministration,wheretheitemsarepresentedonpaper.!Computerizedquestionnaireadministration,wheretheitemsarepresentedonthecomputer.!Adaptivecomputerizedquestionnaireadministration,whereaselectionofitemsispresentedonthecomputer,andbasedontheanswersonthoseitems,thecomputerselectsfollowingitemsoptimizedforthetester’sestimatedabilityortrait.3.10JADSESSIONS:JAD(JointApplicationDevelopment)isamethodologythatinvolvestheclientorenduserinthedesignanddevelopmentofanapplication,throughasuccessionofcollaborativeworkshopscalledJADsessions.ChuckMorrisandTonyCrawford,bothofIBM,developedJADinthelate1970sandbeganteachingtheapproachthroughworkshopsin1980.TheJADapproach,incomparisonwiththemoretraditionalpractice,isthoughttoleadtofasterdevelopmenttimesandgreaterclientsatisfaction,becausetheclientisinvolvedthroughoutthedevelopmentprocess.Incomparison,inthetraditionalapproachto
image/svg+xml48systemsdevelopment,thedeveloperinvestigatesthesystemrequirementsanddevelopsanapplication,withclientinputconsistingofaseriesofinterviews.JointApplicationDesign(JAD)isaprocessusedintheprototypinglifecycleareaoftheDynamicSystemsDevelopmentMethod(DSDM)tocollectbusinessrequirementswhiledevelopingnewinformationsystemsforacompany."TheJADprocessalsoincludesapproachesforenhancinguserparticipation,expeditingdevelopment,andimprovingthequalityofspecifications."ItconsistsofaworkshopwhereknowledgeworkersandITspecialistsmeet,sometimesforseveraldays,todefineandreviewthebusinessrequirementsforthesystem”Theattendeesincludehighlevelmanagementofficialswhowillensuretheproductprovidestheneededreportsandinformationattheend.Thisactsas“amanagementprocesswhichallowsCorporateInformationServices(IS)departmentstoworkmoreeffectivelywithusersinashorter timeframe.”ThroughJADworkshopstheknowledgeworkersandITspecialistsareabletoresolveanydifficultiesordifferencesbetweenthetwopartiesregardingthenewinformationsystem.Theworkshopfollowsadetailedagendainordertoguaranteethatalluncertaintiesbetweenpartiesarecoveredandtohelppreventanymiscommunications.Miscommunicationscancarryfarmoreseriousrepercussionsifnotaddresseduntillateronintheprocess.(SeebelowforKeyParticipantsandKeyStepstoanEffectiveJAD).Intheend,thisprocesswillresultinanewinformationsystemthatisfeasibleandappealingtoboththedesignersandendusers."AlthoughtheJADdesigniswidelyacclaimed,littleisactuallyknownaboutitseffectivenessinpractice."AccordingtoJournalofSystemsandSoftware,afieldstudywasdoneatthreeorganizationsusingJADpracticestodeterminehowJADinfluencedsystemdevelopmentoutcomes.TheresultsofthestudysuggestthatorganizationsrealizedmodestimprovementinsystemsdevelopmentoutcomesbyusingtheJADmethod.JADusewasmosteffectiveinsmall,clearlyfocusedprojectsandlesseffectiveinlargecomplexprojects.JointApplicationDesign(JAD)wasdevelopedbyDrakeandJoshofIBMRaleighandTonyCrawfordofIBMTorontoinaworkshopsetting.Originally,JADwasdesignedtobringsystemdevelopersandusersofvaryingbackgroundsandopinionstogetherinaproductiveaswellascreativeenvironment.Themeetingswereawayofobtainingqualityrequirementsandspecifications.Thestructuredapproachprovidesagoodalternativetotraditionalserialinterviewsbysystemanalysts.
image/svg+xml49Brain-stormingandtheoryZprincipalsinJAD:In1984-5MosheTelemofTel-AvivUniversity,developedandimplementedaJADconceptualapproachthatintegratesbrainstormingandOuchi's"JapaneseManagement"theoryZprinciplesforrapid,maximalandattainablerequirementsanalysisthroughJAD.TelemnamedhisapproachBrainstormingaCollectiveDecision-MakingApproach(BCDA)[4].TelemalsodevelopedandimplementedaBCDAtechnique(BCDT)[5],whichwassuccessfullyusedwithinthesettingofapedagogicalmanagementinformationsystemprojectfortheIsraelieducationalsystem[3].InthisprojectbrainstormingandtheoryZprinciplesinJADprovedtobenotonlyfeasiblebutalsoeffective,resultinginarealisticpictureoftrueusers'informationrequirements.3.10.1ConductJadsessions:JointApplicationDevelopmentorJADasit iscommonlyknownasaprocessoriginallydevelopedfordesigningacomputerbasedsystem.JADfocusesontheuseofhighlystructured,wellplannedmeetingstoidentifythekeycomponentsofsystemdevelopmentprojects.TheJADprocessisbasedonfoursimpleideas;!peoplewhoactuallydoajobhavethebestunderstandingofthe job!Peoplewhoaretrainedininformationtechnologyhavethebestunderstandingofthepossibilitiesofthattechnology.!Informationsystemsneverexistalone!Thebestresultsareobtainedwhenallthesegroupsworktogetheronaproject.TheJADtechniqueisbasedontheobservationthatthesuccessofaprojectcanbehamperedbypoorintrateamcommunication,incompleterequirementsdefinitionandlackofconsensus.Thetrainingteachestheessentialskillsandtechniquesneedtoplan,organizeandparticipateinJADplanning.ADfocusesontheuseofhighlystructured,wellplannedmeetingstoidentifythekeycomponentsofsystemdevelopmentprojects.JADcentersonastructuredworkshopsession.Iteliminatesmanyproblemswithtraditionalmeetingswhicharelikeworkshops.Thesessionsarei) veryfocusedii)conductedinadedicatedenvironmentiii)quickly drivemajorrequirements
image/svg+xml50Theparticipantsinclude:facilitator,endusers,developers,tiebreakers,observersandsubjectmatterexperts.ThesuccessofJAD-basedworkshopdependsontheskillofthefacilitators.3.10.2NeedfortoConductJADsessions:EverybodywhoisresponsibleforgatheringrequirementsanddevelopingbusinesssystemsshouldattendtheJADtrainingsessions.Theyare:workshopfacilitators,businessanalysts,systemanalysts,processanalysts,developmentprojectleaders,developmentteammembers,businessmanagersandInformationtechnologymembers.3.10.3AdvantagesandDisadvantagesJADismoreexpensiveandcumbersome,comparedtoothertraditionalmethods.ManycompaniesfindthatJADusersparticipatefreelyinrequirementsmodelingprocess.Theyfeelasenseofownershipandsupportforthenewsystem.Onebigdisadvantageisthatitopensupalotofscopeforinterpersonalconflict.Comparedwithtraditionalmethods,JADmayseemmoreexpensiveandcanbecumbersomeifthegroupistoolargerelativetothesizeoftheproject.Manycompaniesfind,however,thatJADallowskeyuserstoparticipateeffectivelyintherequirementsmodelingprocess.Whenusersparticipateinthesystemsdevelopmentprocess,theyaremorelikelytofeelasenseofownershipintheresults,andsupportforthenewsystem.Whenproperlyused,JADcanresultinamoreaccuratestatementofsystemrequirements,abetterunderstandingofcommongoals,andastrongercommitmenttothesuccessofthenewsystem.JointApplicationDesign(JAD)isaprocessusedintheprototypinglifecycleareaoftheDynamicSystemsDevelopmentMethod(DSDM)tocollectbusinessrequirementswhiledevelopingnewinformationsystemsforacompany."TheJADprocessalsoincludesapproachesforenhancinguserparticipation,expeditingdevelopment,andimprovingthequalityofspecifications."ItconsistsofaworkshopwhereknowledgeworkersandITspecialistsmeet,sometimesforseveraldays,todefineandreviewthebusinessrequirementsforthesystem.[1]Theattendeesincludehighlevelmanagementofficialswhowillensuretheproductprovidestheneededreportsandinformationattheend.Thisactsas“amanagementprocesswhichallowsCorporateInformationServices(IS)departmentstoworkmoreeffectivelywithusersinashortertimeframe.
image/svg+xml51ThroughJADworkshopstheknowledgeworkersandITspecialistsareabletoresolveanydifficultiesordifferencesbetweenthetwopartiesregardingthenewinformationsystem.Theworkshopfollowsadetailedagendainordertoguaranteethatalluncertaintiesbetweenpartiesarecoveredandtohelppreventanymiscommunications.Miscommunicationscancarryfarmoreseriousrepercussionsifnotaddresseduntillateronintheprocess.(SeebelowforKeyParticipantsandKeyStepstoanEffectiveJAD).Intheend,thisprocesswillresultinanewinformationsystemthatisfeasibleandappealingtoboththedesignersandendusers."AlthoughtheJADdesigniswidelyacclaimed,littleisactuallyknownaboutitseffectivenessinpractice."AccordingtoJournalofSystemsandSoftware,afieldstudywasdoneatthreeorganizationsusingJADpracticestodeterminehowJADinfluencedsystemdevelopmentoutcomes.TheresultsofthestudysuggestthatorganizationsrealizedmodestimprovementinsystemsdevelopmentoutcomesbyusingtheJADmethod.JADusewasmosteffectiveinsmall,clearlyfocusedprojectsandlesseffectiveinlargecomplexprojects.3.10.4FourPrincipleSteps:1)Definesessionobjectives-Thefirststepforthefacilitatortogetherwiththeprojectleaderistodefinethesessionobjectivesandansweringthequestionsastowhatarethesessionobjectives?Whatiswantedfromthesession?Whocanhelpcreatethedeliverables?2)Prepareforthesession-ThefacilitatorhasprimaryresponsibilityfortheJADpreparation.Fourcategoriesoftasksareinvolvedinpreparingforthesession.!Conductpre-sessionresearch!Createasessionagenda!Arrangesessionlogistics!Preparetheparticipants!3)ConducttheJADsession-ThefacilitatorconductstheJADsession,leadingthedevelopersandcustomersthroughplannedagenda.Conductingthemeetinginvolves:-Startingandendingtime,-Distributingandfollowingthemeetingagenda-Gainingconsensusonthemeetingpurposeandroundrulesatthebeginningofthemeeting-Keepingthemeetingontrack.
image/svg+xml524)ProceduretheDocuments-ItiscriticaltothesuccessofanyJADsessionthattheinformationonflip-charts,foils,whiteboard,anddiscussionsberecordedandreviewedbytheparticipants.Eachdayofthesession,thefacilitatorandscribeshouldcreateadraftoftheday’sresults.ThefinaldocumentsfromtheJADshouldbecompletedassoonaspossibleafterthesession.Itisprimaryresponsibilityofthefacilitatorandthescribeto:-organizethefinaldocumentforeasyusebyprojectmembers-completea"FinalDraft"document-distributeittoselectedindividualsforreview-incorporaterevisionsasnecessary-distributethefinalcopyforparticipantsign-offJADimprovesthefinalqualityoftheproductbykeepingthefocusontheupfrontofthedevelopmentcyclethusreducingtheerrorsthatarelikelytocausehugeexpenses.3.11VALIDATION:Validationmayreferto:!Validity,inlogic,determiningwhetherastatementistrue!Validationandverification,inengineering,confirmingthataproductorservicemeetstheneedsofitsusers!VerificationandValidation(software),checkingthatasoftwaresystemmeetsspecificationsandfulfillsitsintendedpurpose!Validationofforeignstudiesanddegrees,processesfortransferringeducationalcredentialsbetweencountries!Validation(computersecurity),theprocessofdeterminingwhetherauserorcomputerprogramisallowedtodosomething.o Validate(McAfee),asoftwareapplicationforthispurpose!Validation(drugmanufacture),documentingthataprocessorsystemmeetsitspre-determinedspecificationsandqualityattributes!Validation(psychology),inpsychologyandhumancommunication,thereciprocatedcommunicationofrespectwhichsignifiesthattheother'sopinionsareacknowledged,respectedandheard
image/svg+xml53!Datavalidation,incomputerscience,ensuringthatdatainsertedintoanapplicationsatisfiesdefinedformatsandotherinputcriteria!Regressionmodelvalidation,instatistics,determiningwhetheramodelfitsthedatawell3.12STRUCTUREDWALKTHROUGHS:Intypicalprojectplanning,youmustdefinethescopeoftheworktobeaccomplished.Atypicaltoolthatisusedbyprojectmanagersistheworkbreakdownstructure(WBS).ThiswalkthroughdemonstratesageneralapproachtocreatingaWBSusingTeamFoundationServerandMicrosoftProject.Thiswalkthroughisnotbasedonanyparticularmethodology.However,itdoesusethequalityofservicerequirementandtaskworkitemtypesintheMSFforAgileSoftwareDevelopmentprocesstemplate.Theapproachusedinthiswalkthroughshouldbeadaptableyourownorganization'sworkitemtypesandprocess.Inthiswalkthrough,youwillcompletethefollowingtasks:!CreatearequirementusingTeamFoundationServer.!CreatetasksusingTeamFoundationServer.!CreatetasksusingMicrosoftProject.!Linktasksandrequirements.!CreateaworkbreakdownstructurefromtasksinMicrosoftProjectThetermisoftenemployedinthesoftwareindustry(seesoftwarewalkthrough)todescribetheprocessofinspectingalgorithmsandsourcecodebyfollowingpathsthroughthealgorithmsorcodeasdeterminedbyinputconditionsandchoicesmadealongtheway.Thepurposeofsuchcodewalkthroughsisgenerallytoprovideassuranceofthefitnessforpurposeofthealgorithmorcode;andoccasionallytoassessthecompetenceoroutputofanindividualorteam.3.12.1TypesofWalkthroughs!SpecificationwalkthroughsSystemspecificationProjectplanningRequirementsanalysis!DesignwalkthroughsPreliminarydesignDesign
image/svg+xml54!Codewalkthroughs!TestwalkthroughsTestplanTestprocedure3.12.2PrerequisitesThefollowingprerequisitesmustbemettocompletethiswalkthrough.!MicrosoftProjectmustbeinstalled.!AteamprojectmustbecreatedthatusestheMSFforAgileSoftwareDevelopmentprocesstemplate.3.12.3ScenarioThescenarioforthiswalkthroughisbasedontheexampleAdventureWorksteamproject.AdventureWorksisstartingaprojecttosetupaWebinterfacefororderingitsproducts.Oneofthecustomerrequirementsstatesthatcustomersbeabletocheckonorderstatusafterordersareplaced.Thescopeofthisworkmustbedefinedinaworkbreakdownstructuretoasufficientlevelofdetailtoenableprojectplanningtobecompleted.ThefollowingapproachisusedbyAdventureWorks.TheprojectmanagermustcreatetheWBSandhasthehelpoftheteamtodothis.Onepersonontheteamisadatabaseexpertandwillprovidedetailsonwhatisneededinthedatabasetosupportthenewrequirement.ShewillenterherworkdetailsusingTeamFoundationServer.TheprojectmanagerwillworkwithotherteammemberstodefineadditionalworktocompletetheWebinterface.ThentheprojectmanagerwillenterthosedetailsusingMicrosoftProject.Finally,theprojectmanagerwillcreateaWBSinMicrosoftVisiothatcanbeusedintheprojectplanningdocument.ThroughoutthiswalkthroughyouwillperformthestepsofeachroletocreatethetasksandWBS.Whenyoucompletethewalkthrough,youwillhavecreatedthefollowingtasksandsubtasksinaGanttchartandaWBS.!OrderStorageSubsystemOrderTablesOrderStoredProcedures!OrderWebInterfaceOrderLookupWebServiceClientOrderViews
image/svg+xml553.13SUMMARYThroughthischapterwediscussedaboutfunctionalityofsystemaswellassystemrequirements.Theresourcestocollectthedataareanessentialofsystem.Somefactfindingsmethodsareanimportantparthere.Questions:1.Explainroleofbusinessanalystindetail?Ans:refer3.72.ExplainDataAnalysisindetail?Ans:refer3.3
image/svg+xmlFEASIBILITYANALYSIS4.1INTRODUCTION:Afeasibilitystudyisanevaluationofaproposaldesignedtodeterminethedifficultyincarryingoutadesignatedtask.Generally,afeasibilitystudyprecedestechnicaldevelopmentandprojectimplementation.Inotherwords,afeasibilitystudyisanevaluationoranalysisofthepotentialimpactofaproposedproject.
image/svg+xml574.2FIVECOMMONFACTORSFORFEASIBILITYSTUDY:4.2.1TechnologyandsystemfeasibilityTheassessmentisbasedonanoutlinedesignofsystemrequirementsintermsofInput,Processes,Output,Fields,Programs,andProcedures.Thiscanbequantifiedintermsofvolumesofdata,trends,frequencyofupdating,etc.inordertoestimatewhetherthenewsystemwillperformadequatelyornot.Technologicalfeasibilityiscarriedouttodeterminewhetherthecompanyhasthecapability,intermsofsoftware,hardware,personnelandexpertise,tohandlethecompletionoftheproject4.2.2Economicfeasibility:Economicanalysisisthemostfrequentlyusedmethodforevaluatingtheeffectivenessofanewsystem.Morecommonlyknownascost/benefitanalysis,theprocedureistodeterminethebenefitsandsavingsthatareexpectedfromacandidatesystemandcomparethemwithcosts.Ifbenefitsoutweighcosts,thenthedecisionismadetodesignandimplementthesystem.Anentrepreneurmustaccuratelyweighthecostversusbenefitsbeforetakinganaction.Cost-basedstudy:Itisimportanttoidentifycostandbenefitfactors,whichcanbecategorizedasfollows:1.Developmentcosts;and2.Operatingcosts.Thisisananalysisofthecoststobeincurredinthesystemandthebenefitsderivableoutofthesystem.Time-basedstudy:Thisisananalysisofthetimerequiredtoachieveareturnoninvestments.thebenefitsderivedfromthesystem.Thefuturevalueofaprojectisalsoafactor.4.2.3Legalfeasibility:Determineswhethertheproposedsystemconflictswithlegalrequirements,e.g.adataprocessingsystemmustcomplywiththelocalDataProtectionActs.4.2.4Operationalfeasibility:Operationalfeasibilityisameasureofhowwellaproposedsystemsolvestheproblems,andtakesadvantageoftheopportunitiesidentifiedduringscopedefinitionandhowitsatisfiestherequirementsidentifiedintherequirementsanalysisphaseofsystemdevelopment.
image/svg+xml58TheNeedforOperationalFeasibilityStudies.Operationalfeasibilitystudiesaregenerallyutilizedtoanswerthefollowingquestions:!ProcessHowdotheend-usersfeelaboutanewprocessthatmaybeimplemented?!EvaluationWhetherornottheprocesswithintheorganizationwillworkbutalsoif it canwork.!ImplementationStakeholder,manager,andend-usertasks.!ResistanceEvaluatemanagement,team,andindividualresistanceandhowthat resistancewillbehandled.!In-HouseStrategiesHowwilltheworkenvironmentbeaffected?Howmuchwillitchange?!Adapt&ReviewOncechangeresistanceisovercome,explainhowthenewprocesswillbeimplementedalongwithareviewprocesstomonitortheprocesschange.Example:Ifanoperationalfeasibilitystudymustanswerthesixitemsabove,howisit usedintherealworld?Agoodexamplemightbeifacompanyhasdeterminedthatitneedstototallyredesigntheworkspaceenvironment.Afteranalyzingthetechnical,economic,andschedulingfeasibilitystudies,nextwouldcometheoperationalanalysis.Inordertodetermineiftheredesignoftheworkspaceenvironmentwouldwork,anexampleofanoperationalfeasibilitystudywouldfollowthispathbasedonsixelements:!ProcessInputandanalysisfromeveryonethenewredesignwillaffectalongwithadatamatrixonideasandsuggestionsfromtheoriginalplans.!EvaluationDeterminationsfromtheprocesssuggestions;willtheredesignbenefiteveryone?Whoisleftbehind?Whofeelsthreatened?!ImplementationIdentifyresourcesbothinsideandoutthatwillworkontheredesign.Howwilltheredesignconstructioninterferewithcurrentwork?!ResistanceWhatareasandindividualswillbemostresistantStrategiesHowwilltheorganizationdealwiththechangedworkspaceenvironment?Donewprocessesorstructuresneedtobereviewedorimplementedinorderfortheredesigntobeeffective?
image/svg+xml59!Adapt&ReviewHowmuchtimedoestheorganizationneedtoadapttothenewredesign.Howwillitbereviewedandmonitored?Whatwillhappenifthroughamonitoringprocess,additionalchangesmustbemade?4.2.5Schedulefeasibility:Aprojectwillfailifittakestoolongtobecompletedbeforeitisuseful.Typicallythismeansestimatinghowlongthesystemwilltaketodevelop,andifitcanbecompletedinagiventimeperiodusingsomemethodslikepaybackperiod.Schedulefeasibilityisameasureofhowreasonabletheprojecttimetableis.Givenourtechnicalexpertise,aretheprojectdeadlinesreasonable?Someprojectsareinitiatedwithspecificdeadlines.YouneedtodeterminewhetherthedeadlinesaremandatoryordesirableItisanessentialtypeoffeasibilty.Itmakesprototypemodelwithpropertimespanwhichallotthestepsandtheirrequiredtimeduration.4.3 OTHER FEASIBILITYFACTORS:4.3.1Marketandrealestatefeasibility:MarketFeasibilityStudytypicallyinvolvestestinggeographiclocationsforarealestatedevelopmentproject,andusuallyinvolvesparcelsofrealestateland.Developersoftenconductmarketstudiestodeterminethebestlocationwithinajurisdiction,andtotestalternativelandusesforgivenparcels.Jurisdictionsoftenrequiredeveloperstocompletefeasibilitystudiesbeforetheywillapproveapermitapplicationforretail,commercial,industrial,manufacturing,housing,officeormixed-useproject.MarketFeasibilitytakesintoaccounttheimportanceofthebusinessintheselectedarea.4.3.2Resourcefeasibility:Thisinvolvesquestionssuchashowmuchtimeisavailabletobuildthenewsystem,whenitcanbebuilt,whetheritinterfereswithnormalbusinessoperations,typeandamountofresourcesrequired,dependencies,etc.Contingencyandmitigationplansshouldalsobestatedhere.4.3.3Cultural feasibilityInthisstage,theproject'salternativesareevaluatedfortheirimpactonthelocalandgeneralculture.Forexample,environmentalfactorsneedtobeconsideredandthesefactorsaretobewellknown.Furtheranenterprise'sownculturecanclashwiththeresultsoftheproject.
image/svg+xml604.4COSTESTIMATES:4.4.1Cost/BenefitAnalysisEvaluatingQuantitativelyWhethertoFollowaCourseofActionYoumayhavebeenintenselycreativeingeneratingsolutionstoaproblem,andrigorousinyourselectionofthebestoneavailable.However,thissolutionmaystillnotbeworthimplementing,asyoumayinvestalotoftimeandmoneyinsolvingaproblemthatisnotworthyofthiseffort.CostBenefitAnalysisorCBAisarelatively*simpleandwidelyusedtechniquefordecidingwhethertomakeachange.Asitsnamesuggests,yousimplyaddupthevalueofthebenefitsofacourseofaction,andsubtractthecostsassociatedwithit.Costsareeitherone-off,ormaybeongoing.Benefitsaremostoftenreceivedovertime.Webuildthiseffectoftimeintoouranalysisbycalculatingapaybackperiod.Thisisthetimeittakesforthebenefitsofachangetorepayitscosts.Manycompanieslookforpaybackonprojectsoveraspecifiedperiodoftime.4.4.2HowtoUsetheTool:Initssimpleform,cost-benefitanalysisiscarriedoutusingonlyfinancialcostsandfinancialbenefits.Forexample,asimplecostbenefitratioforaroadschemewouldmeasurethecostofbuildingtheroad,andsubtractthisfromtheeconomicbenefitofimprovingtransportlinks.Itwouldnotmeasureeitherthecostofenvironmentaldamageorthebenefitofquickerandeasiertraveltowork.Amoresophisticatedapproachtobuildingacostbenefitmodelsistotrytoputafinancialvalueonintangiblecostsandbenefits.Thiscanbehighlysubjective-is,forexample,ahistoricwatermeadowworth$25,000,orisitworth$500,000becauseifitsenvironmentalimportance?Whatisthevalueofstress-freetraveltoworkinthemorning?Theseareallquestionsthatpeoplehavetoanswer,andanswersthatpeoplehavetodefend.Theversionofthecostbenefitapproachweexplainhereisnecessarilysimple.Wherelargesumsofmoneyareinvolved(forexample,infinancialmarkettransactions),projectevaluationcanbecomeanextremelycomplexandsophisticatedart.The
image/svg+xml61fundamentalsofthisareexplainedinPrinciplesofCorporateFinancebyRichardBrealeyandStewartMyers-thisissomethingofanauthorityonthesubject.Example:Asalesdirectorisdecidingwhethertoimplementanewcomputer-basedcontactmanagementandsalesprocessingsystem.Hisdepartmenthasonlyafewcomputers,andhissalespeoplearenotcomputerliterate.Heisawarethatcomputerizedsalesforcesareabletocontactmorecustomersandgiveahigherqualityofreliabilityandservicetothosecustomers.Theyaremoreabletomeetcommitments,andcanworkmoreefficientlywithfulfilmentanddeliverystaff.Hisfinancialcost/benefitanalysisisshownbelow:Costs:Newcomputerequipment:!10network-readyPCswithsupportingsoftware@$2,450each!1server@$3,500!3printers@$1,200each!Cabling&Installation@$4,600!SalesSupport Software@$15,000Trainingcosts:!Computerintroduction-8people@$400each!Keyboardskills-8people@$400each!SalesSupportSystem-12people@$700eachOthercosts:!Losttime:40mandays@$200/day!Lostsalesthroughdisruption:estimate:$20,000!Lostsalesthroughinefficiencyduringfirstmonths:estimate:$20,000Totalcost:$114,000Benefits:!Triplingofmailshotcapacity:estimate:$40,000/year!Abilitytosustaintelesalescampaigns:estimate:$20,000/year!Improvedefficiencyandreliabilityoffollow-up:estimate:$50,000/year!Improvedcustomerserviceandretention:estimate:$30,000/year
image/svg+xml62!Improvedaccuracyofcustomerinformation:estimate:$10,000/year!Moreabilitytomanagesaleseffort:$30,000/yearTotalBenefit:$180,000/yearPaybacktime:$114,000/$180,000=0.63ofayear=approx.8months4.4.3BenefitsofCostEstimation:Cost/BenefitAnalysisisapowerful,widelyusedandrelativelyeasytoolfordecidingwhethertomakeachange.Tousethetool,firstlyworkouthowmuchthechangewillcosttomake.Thencalculatethebenefityouwillfromit.Wherecostsorbenefitsarepaidorreceivedovertime,workoutthetimeitwilltakeforthebenefitstorepaythecosts.Cost/BenefitAnalysiscanbecarriedoutusingonlyfinancialcostsandfinancialbenefits.Youmay,however,decidetoincludeintangibleitemswithintheanalysis.Asyoumustestimateavalueforthese,thisinevitablybringsanelementofsubjectivityintotheprocess.Largerprojectsareevaluatedusingformalfinance/capitalbudgeting,whichtakesintoaccountmanyofthecomplexitiesinvolvedwithfinancialDecisionMaking.Thisisacomplexareaandisbeyondthescopeofthissite.4.5BUSINESSSYSTEMANALYSIS:Thisprocessinvolvesinterviewingstakeholdersandgatheringinformationrequiredtoassistusinthedevelopmentofawebapplicationwhichcloselyresemblesyourbusinessmodel.Inmostcasesourclientsusethefollowingtypesofservices:ProjectRoadmap:helpsyouunderstandwhichresoucesarerequiredatvariousstagesoftheproject,assesstheoverallrisksandopportunities,andallocatearealistictimelineandbudgetforthesuccessfulcompletionandimplementationoftheproject.ProjectBlueprint:documentsanddiagramseachofthevarioustechnicalandcontentaspectsofthesoftwareprojectandhowtheyfitandflowtogether,suchasthedatamodelforthedatabase,userinterfacefortheusers,andeverythinginbetween.ThisbecomesthemainguidelinefortheProgrammers,Graphic
image/svg+xml63Designers,andContentDeveloperswhocollaboratewiththeProjectManagerondevelopingawebapplication.4.5.1DevelopingaProjectRoadmap:Beforestartingawebapplicationprojectweneedtohavethefollowing information:EstablishtheapproximateprojectcostanddeliverytimeIdentifytherequiredresourcesandexpertiseandwheretofindthemKnowtherisksinvolvedineachdevelopmentstage,andplanforhowtodealwiththemearlyonGainclientagreementontheabsoluteessentialsforeachphaseoftheproject.Thisincreasesthepotentialforprojectsuccessandthelong-termreturnoninvestmentandhelpstoavoiddrasticprojectdelaysinthefutureAsaresultoftheinitialstudy,theProjectRoadmapbecomesthefoundationofourbusinessagreementwithyourcompany.Todeveloparoadmap,wefirstcommunicatewiththekeystakeholdersandstudyyourbusinessmodel.Projectrequirementsarebrokendownintomanageablestages,witheachstageassignedapriorityrankandatimeanddevelopmentcostestimate.Approximately10%ofaproject’stimeandbudgetisinvestedindevelopingtheroadmap.Thisnumbercouldincreaseifyourbusinessconceptandmodelarebeingimplementedforthefirsttime.4.6DEVELOPINGABLUEPRINTFORAWEBAPPLICATION:Forlargerprojects,Programmers,GraphicDesigners,andContentdevelopersdonotstartweavingawebapplicationrightaway.Toincreasethelikelihoodoftheproject’ssuccess,westeerthedevelopmentprocessbasedontheprojectblueprintpreparedbyourSystemAnalystsandInformationArchitects.Theblueprintcontainstextdocumentsandvisualdiagrams(ER,UML,IAGarrett,UseCases,... ).Inotherwords,wewillbedesigningthedatamodelforthedatabase,userinterfacefortheusers,andeverythinginbetween.Wemodeleverythingonpapertoensurethedevelopmentteamcanachievetheirgoalofahighqualitywebapplicationontimeandonbudget.Thesedocumentsarerefinedandimprovedastheprojectmovesforward.Theprojectblueprintalmostalwayschangesdependingonthediscoveriesandchallengesthatinevitablyarisethroughoutthedevelopmentprocess.
image/svg+xml64Thesedocumentsanddiagramsbecomeyourpropertyoncetheprojectisdelivered.Thisallowsyoutogrowandfurtherdeveloptheapplicationinthefuture.Wedonotkeepanyoftheinformationproprietary.4.6.1Identificationoflistofdeliverables:ThisisrelatedtoProjectExecutionandControl.ListofDeliverables:ProjectExecutionandControldiffersfromallotherworkinthat,betweenthekick-offmeetingandprojectacceptance,allprocessesandtasksoccurconcurrentlyandrepeatedly,andcontinuealmosttheentiredurationofProjectExecutionandControl.Thus,theearlierconceptofa"processdeliverable"isnotapplicabletoProjectExecutionandControl,andeventaskdeliverablesaremostlyactivities,notproducts.Ofcourse,thereistheultimatedeliverabletheproductoftheproject.ThefollowingtablelistsallProjectExecutionandControlprocesses,tasks,andtheirdeliverables4.6.2ProcessDescriptions!1ConductProjectExecutionandControlKick-off!2ManageTripleConstraints(Scope,Schedule,Budget)!3MonitorandControlRisks!4ManageProjectExecutionandControl!5GainProjectAcceptance1.ConductProjectExecutionandControlKick-OffRoles!ProjectManager!ProjectSponsorand/orProjectDirector!ProjectTeamMembers!SteeringCommittee!StakeholdersPurposeThepurposeofConductProjectExecutionandControlKick-offistoformallyacknowledgethebeginningofProjectExecutionandControlandfacilitatethetransitionfromProjectPlanning.SimilartoProjectPlanningKick-off,ProjectExecutionandControlKick-offensuresthattheprojectisstillontrackandfocusedontheoriginalbusinessneed.Manynewteammemberswillbeintroducedtotheprojectatthispoint,andmustbethoroughlyorientedandpreparedtobeginwork.Mostimportantly,current
image/svg+xml65projectstatusisreviewedandallpriordeliverablesarere-examined,givingallnewteammembersacommonreferencepoint.TasksassociatedwithConductProjectExecutionandControlKick-Off-OrientNewProjectTeamMembers-ReviewProjectMaterials-KickOffProjectExecutionandControlOrientNewProjectTeamMembersAsinProjectPlanning,thegoaloforientingnewProjectTeammembersistoenhancetheirabilitiestocontributequicklyandpositivelytotheprojectsdesiredoutcome.IftheProjectManagercreatedaTeamMemberOrientationPacketduringProjectPlanning,thepacketshouldalreadycontainanorientationchecklist,orientationmeetingagenda,projectmaterials,andlogisticalinformationthatwillagainbeuseful.TheProjectManagershouldreviewthecontentsoftheexistingTeamMemberOrientationPackettoensurethattheyarecurrentandstillapplicabletotheproject.Anychangesneededtothecontentsofthepacketshouldbemadeatthistime.Onceupdated,packetmaterialscanbephotocopiedanddistributedtonewteammemberstofacilitatetheirorientationprocess.TheProjectManagerorTeamLeadershouldconductone-on-oneorientationsessionswithnewmemberstoensurethattheyreadandunderstandtheinformationpresentedtothem.IftheorientationpacketwasnotcreatedduringProjectPlanningandnewteammembersarecomingonboard,theProjectManagermustgatherandpresentinformationthatwouldbeusefultonewteammembers,including:!AllrelevantprojectinformationfromProjectInitiation,ProjectPlanning(HighLevel),andProjectPlanning(DetailLevel).!OrganizationchartsProjectTeam,Customer,PerformingOrganization!GeneralinformationontheCustomer!Logistics(parkingpolicy,workhours,building/officesecurityrequirements,useridandpassword,dresscode,locationofrestrooms,supplies,photocopier,printer,fax,refreshments,etc.)!Projectprocedures(teammemberexpectations,howandwhentoreportprojecttimeandstatus,sicktimeandvacationpolicy)
image/svg+xml66ReviewProjectMaterialsandCurrentProjectStatusBeforeformallybeginningProjectExecutionandControl,theProjectTeamshouldreviewupdatedProjectStatusReportsandtheProjectPlan.Atthispointintheproject,theProjectPlancomprisesalldeliverablesproducedduringProjectInitiationandProjectPlanning(HighLevelandDetail):1.ProjectCharter,ProjectInitiationPlan2.TripleConstraints(Scope,Schedule,Budget)3.RiskManagementWorksheet4.DescriptionofStakeholderInvolvement5.CommunicationsPlan6.TimeandCostBaseline7.CommunicationsManagementProcess8.ChangeControlProcess9.AcceptanceManagementProcess10.IssueManagementandEscalationProcess11.TrainingPlan12.ProjectImplementationandTransitionPlanKickoffProjectExecutionandControlAswasthecaseforProjectInitiationandProjectPlanning,ameetingisconductedtokickoffProjectExecutionandControl.Duringthemeeting,theProjectManagershouldpresentthemaincomponentsoftheProjectPlanforreview.Otheritemstocoverduringthemeetinginclude:!Introductionofnewteammembers!Rolesandresponsibilitiesofeachteammember!Restatingtheobjective(s)oftheprojectandgoalsforExecutionandControl!LatestProjectScheduleandtimeline!Projectrisksandmitigationplans!Currentprojectstatus,includingopenissuesandactionitemsThegoalofthekick-offmeetingistoverifythatallpartiesinvolvedhaveconsistentlevelsofunderstandingandacceptanceoftheworkdonesofar,tovalidateexpectationspertainingtothedeliverablestobeproducedduringProjectExecutionandControl,andtoclarifyandgainunderstandingoftheexpectationsofeachteammemberinproducingthedeliverables.AttendeesattheProjectExecutionandControlKick-offMeetingincludetheProjectManager,ProjectTeam,ProjectSponsorand/orProjectDirector,andanyotherStakeholderswithavestedinterestinthestatusof
image/svg+xml67theproject.ThisisanopportunityfortheProjectSponsorand/orProjectDirectortoreinforcetheimportanceoftheprojectandhowitsupportsthebusinessneed.2.ManageTripleConstraintsRoles!ProjectManager!ProjectSponsorand/orProjectDirector!ProjectTeamMember!CustomerRepresentative!SteeringCommitteePurposeTheTripleConstraintsisthetermusedforaproject'sinextricablylinkedconstraints:Scope,Schedule,andBudget,witharesultingacceptableQuality.DuringProjectPlanning,eachsectionoftheTripleConstraintswasrefined.Asproject-specifictasksareperformedduringProjectExecutionandControl,theTripleConstraintwillneedtobemanagedaccordingtotheprocessesestablishedduringProjectPlanning.TheTripleConstraintsisnotstaticalthoughProjectPlanningiscompleteandhasbeenapproved,somecomponentsofTripleConstraintswillcontinuetoevolveasaresultoftheexecutionofprojecttasks.Throughouttheproject,asmoreinformationabouttheprojectbecomesknownandtheproductoftheprojectisdeveloped,theTripleConstraintsarelikelytobeaffectedandwillneedtobecloselymanaged.ThepurposeoftheManageTripleConstraintsTaskisto:!ManageChangestoProjectScope!ControltheProjectScheduleandManageScheduleChanges!ImplementQualityAssuranceandQualityControlProcessesAccordingtotheQualityStandardsRevisedDuringProjectPlanning!ControlandManageCostsEstablishedintheProjectBudgetTasksassociatedwithManageTripleConstraints!ManageProjectScope!ManageProjectSchedule!ImplementQuality Control!ManageProjectBudget
image/svg+xml68ManageProjectScopeDuringProjectPlanning,theProjectManager,throughregularcommunicationwiththeCustomerRepresentativesandProjectSponsorand/orProjectDirector,refinedtheProjectScopetoclearlydefinethecontentofthedeliverablestobeproducedduringProjectExecutionandControl.Thisdefinitionincludesacleardescriptionofwhatwillandwillnotbeincludedineachdeliverable.TheprocesstobeusedtodocumentchangestotheProjectScopewasincludedintheProjectInitiationPlan.Thisprocessincludesadescriptionofthewayscopewillbemanagedandhowchangestoscopewillbehandled.ItisimportantthattheProjectManagerenforcethisprocessthroughouttheentireproject,startingveryearlyinProjectExecutionandControl.Evenifascopechangeisperceivedtobeverysmall,exercisingthechangeprocessensuresthatallpartiesagreetothechangeandunderstanditspotentialimpact.Followingtheprocesseachandeverytimescopechangeoccurswillminimizeconfusionastowhatactuallyconstitutesachange.Additionally,institutingtheprocessearlywilltestitseffectiveness,gettheCustomerandProjectSponsorand/orProjectDirectoraccustomedtothewaychangewillbemanagedthroughouttheremainderoftheproject,andhelpthemunderstandtheirrolesastheyrelatetochange.ManageProjectScheduleDuringProjectPlanning(DetailLevel),anagreed-uponbaselinewasestablishedfortheProjectSchedule.Thisschedulebaselinewillbeusedasastartingpointagainstwhichperformanceontheprojectwillbemeasured.ItisoneofmanytoolstheProjectManagercanuseduringProjectExecutionandControltodetermineiftheprojectisontrack.ProjectTeammembersusethecommunicationsmechanismsdocumentedintheCommunicationsPlantoprovidefeedbacktotheProjectManagerontheirprogress.Generallyteammembersdocumentthetimespentontasksandprovidesestimatesofthetimerequiredtocompletethem.TheManagerusesthisinformationtoupdatetheProjectSchedule.Insomeareastheremaybeformaltimetrackingsystemsthatareusedtotrackprojectactivity.AfterupdatingtheProjectSchedule,theProjectManagermusttakethetimetoreviewthestatusoftheproject.SomequestionsthattheProjectManagershouldbeabletoanswerbyexaminingtheProjectScheduleinclude:!Istheprojectontrack?!Arethereanyissuesthatarebecomingevidentthatneedtobeaddressednow?
image/svg+xml69!Whichtasksaretakingmoretimethanestimated?Lesstime?!Ifataskislate,whatistheeffectonsubsequenttasks?!Whatisthenextdeliverabletobeproducedandwhenisitscheduledtobecomplete?!Whatistheamountofeffortexpendedsofarandhowmuchisremaining?!AreanyProjectTeammembersover-allocatedorunder-allocated?!Howmuchofthetimeallocatedhasbeenexpendedtodateandwhatisthetimerequiredtocompletetheproject?!Mostprojectschedulingtoolsprovidetheabilitytoproducereportstodisplayavarietyofusefulinformation.ItisrecommendedthattheProjectManagerexperimentwithallavailablereportstofindthosethataremostusefulforreportinginformationtotheProjectTeam,Customer,andProjectSponsorand/ orProjectDirector.!WhenupdatingtheProjectSchedule,itisveryimportantthattheProjectManagermaintaintheintegrityofthecurrentschedule.Eachversionofthescheduleshouldbearchived.Bycreatinganewcopyoftheschedulewheneveritisupdated,theProjectManagerwillneverlosetherunninghistoryoftheprojectandwillalsohaveacopyofeveryscheduleforauditpurposes.4.7IMPLEMENTQUALITYCONTROLQualitycontrolinvolvesmonitoringtheprojectanditsprogresstodetermineifthequalitystandardsdefinedduringProjectPlanningarebeingimplementedandwhethertheresultsmeetthequalitystandardsdefinedduringProjectInitiation.Theentireorganizationhasresponsibilitiesrelatingtoquality,buttheprimaryresponsibilityforensuringthattheprojectfollowsitsdefinedqualityproceduresultimatelybelongstotheProjectManager.Thefollowingfigurehighlightsthepotentialresultsofexecutingaprojectwithpoorqualitycomparedtoaprojectexecutedwithhighquality:
image/svg+xml70Poor QualityHighQualityIncreasedcostsLowercostsLowmoraleHappy,productiveProjectTeamLowCustomersatisfactionDeliveryofwhattheCustomerwantsIncreasedriskLowerriskQualitycontrolshouldbeperformedthroughoutthecourseoftheproject.Someoftheactivitiesandprocessesthatcanbeusedtomonitorthequalityofdeliverables,determineifprojectresultscomplywithqualitystandards,andidentifywaystoimproveunsatisfactoryperformance,aredescribedbelow.TheProjectManagerandProjectSponsorand/orProjectDirectorshoulddecidewhicharebesttoimplementintheirspecificprojectenvironment.!ConductPeerReviewsthegoalofapeerreviewistoidentifyandremovequalityissuesfromadeliverableasearlyinProjectExecutionandControlasefficientlyaspossible.Apeerreviewisathoroughreviewofaspecificdeliverable,conductedbymembersoftheProjectTeamwhoaretheday-to-daypeersoftheindividualswhoproducedthework.ThepeerreviewprocessaddstimetotheoverallProjectSchedule,butinmanyprojectsituationsthebenefitsofconductingareviewfaroutweighthetimeconsiderations.TheProjectManagermustevaluatetheneedsofhis/herproject,determineanddocumentwhich,ifany,deliverablesshouldfollowthisprocess,andbuildtherequiredtimeandresourcesintotheProjectSchedule.Priortoconductingapeerreview,aProjectTeammembershouldbeidentifiedasthefacilitatororpersonresponsibleforkeepingthereviewontrack.Thefacilitatorshoulddistributeallrelevantinformationpertainingtothedeliverabletoallparticipantsinadvanceofthemeetingtopreparethemtoparticipateeffectively.Duringthemeeting,thefacilitatorshouldrecordinformationincluding:!Peerreviewdate!Namesandrolesofparticipants!Thenameofthedeliverablebeingreviewed!Numberofqualityissuesfound
image/svg+xml71!Descriptionofeachqualityissuefound!Actionstofollowtocorrectthequalityissuespriortopresentingthedeliverabletotheapprover!Namesoftheindividualsresponsibleforcorrectingthequalityissues!ThedatebywhichqualityissuesmustbecorrectedThisinformationshouldbedistributedtotheProjectManager,allmeetingparticipants,andthoseindividualsnotinvolvedinthemeetingwhowillberesponsibleforcorrectinganyproblemsdiscoveredorforproducingsimilardeliverables.Thefacilitatorshouldalsosolicitinputfromthemeetingparticipantstodetermineifanotherpeerreviewisnecessary.OncethequalityissueshavebeencorrectedandtheProjectManagerisconfidentthedeliverablemeetsexpectations,itmaybepresentedtotheapprover.ProjectDeliverables(Projectdeliverableswilldifferdependingupontheprojectlifecyclebeingused.Customizethefollowingquestionsandaddothersasnecessarytoproperlyandsufficientlyevaluatethedeliverablesspecifictoyourproject.)!DothedeliverablesmeettheneedsoftheperformingOrganization?!DothedeliverablesmeettheobjectivesandgoalsoutlinedintheBusinessCase?!DothedeliverablesachievethequalitystandardsdefinedintheQualityManagementPlan?4.8PROJECTMANAGEMENTDELIVERABLES!DoestheProjectProposaldefinethebusinessneedtheprojectwilladdress,andhowtheprojectsproductwillsupporttheorganizationsstrategicplan?!DoestheBusinessCaseprovideananalysisofthecostsandbenefitsoftheprojectandprovideacompellingcasefortheproject?!HasaProjectRepositorybeenestablishedtostoreallprojectdocuments,andhasitbeenmadeavailabletotheProjectTeam?!DoestheProjectInitiationPlandefinetheprojectgoalsandobjectives?!DoestheProjectScopeprovidealistofalltheprocessesthatwillbeaffectedbytheproject?
image/svg+xml72!IntheProjectScope,isitclearastowhatisinandoutofscope?!IstheProjectScheduledefinedsufficientlytoenabletheProjectManagertomanagetaskexecution?!WasaProjectSchedulebaselineestablished?!IstheProjectSchedulemaintainedonaregularbasis?!DoestheQualityManagementPlandescribequalitystandardsfortheprojectandassociatedqualityassuranceandqualitycontrolactivities?!Hasaprojectbudgetbeenestablishedanddocumentedinsufficientdetail?!Haveprojectrisksbeenidentifiedandprioritized,andhasamitigationplanbeendevelopedanddocumentedforeach?!Ifanyriskeventshaveoccurredtodate,wastheriskmitigationplanexecuted successfully?!AreallStakeholdersawareoftheirinvolvementintheproject,andhasthisitbeendocumentedandstoredintheprojectrepository?!DoestheCommunicationsPlandescribethefrequencyandmethodofcommunicationsforallStakeholdersinvolvedintheproject?!DoestheChangeControlProcessdescribehowtoidentifychange,whatindividualsmayrequestachange,andtheprocesstofollowtoapproveorrejectarequestforchange?!Haschangestoscopebeensuccessfullymanagedsofar?!DoestheAcceptanceManagementProcessclearlydefinewhoisresponsibleforreviewingandapprovingprojectandprojectmanagementdeliverables?Doesitdescribetheprocesstofollowtoacceptorrejectdeliverables?!HastheAcceptanceManagementProcessprovensuccessfulforthedeliverablesproducedsofar?!DoestheIssueManagementProcessclearlydefinehowissueswillbecaptured,tracked,andprioritized?Doesitdefinetheproceduretofollowshouldanunresolvedissueneedtobeescalated?!Haveissuesbeensuccessfullymanageduptothispoint?!DoestheOrganizationalChangeManagementPlandocumenthowchangestopeople,existingbusinessprocesses,andculturewillbehandled?!HasaProjectTeamTrainingPlanbeenestablished,andisitbeing implemented?
image/svg+xml73!DoestheImplementationandTransitionPlandescribehowtoensurethatallConsumersarepreparedtousetheprojectsproduct,andthePerformingOrganizationispreparedtosupportthe product?!HaveallProjectManagementdeliverablesbeenapprovedbytheProjectSponsorand/orProjectDirector(ordesignatedapprover?)!DoestheProjectPlancontainallrequiredcomponentsaslistedintheGuidebook?!AreeachProjectPlancomponentbeingmaintainedonaregularbasis?4.9SUMMARY:Thischapterisbasedonsystemfeasibility;roadmapandBusinesssystemanalysis.Feasibilityfactorsmakemuchmoreeffectonthesystemprocessandcost.Questions:1.ExplaincommonfactorsforFeasibilitystudyindetail?Ans:refer4.22.DiscussthefeasibilitystudyfactorsforOnlineExaminationSysteminbrief.Ans.Refer4.1
image/svg+xmlModelingsystemrequirements5.1INTRODUCTION:Requirementsanalysisinsystemsengineeringandsoftwareengineering,encompassesthosetasksthatgointodeterminingtheneedsorconditionstomeetforaneworalteredproduct,takingaccountofthepossiblyconflictingrequirementsofthevariousstakeholders,suchasbeneficiariesorusers.Requirementsanalysisiscriticaltothesuccessofadevelopmentproject.[2]Requirementsmustbedocumented,actionable,measurable,testable,relatedtoidentifiedbusinessneedsoropportunities,anddefinedtoalevelofdetailsufficientforsystemdesign.Requirementscanbefunctionalandnon-functional.Conceptually,requirementsanalysisincludesthreetypesofactivity:!Elicitingrequirements:thetaskofcommunicatingwithcustomersanduserstodeterminewhattheirrequirementsare.Thisissometimesalsocalledrequirementsgathering.!Analyzingrequirements:determiningwhetherthestatedrequirementsareunclear,incomplete,ambiguous,orcontradictory,andthenresolvingtheseissues.!Recordingrequirements:Requirementsmightbedocumentedinvariousforms,suchasnatural-languagedocuments,usecases,userstories,orprocessspecifications.Requirementsanalysiscanbealongandarduousprocessduringwhichmanydelicatepsychologicalskillsareinvolved.New
image/svg+xml75systemschangetheenvironmentandrelationshipsbetweenpeople,soitisimportanttoidentifyallthestakeholders,takeintoaccountalltheirneedsandensuretheyunderstandtheimplicationsofthenewsystems.Analystscanemployseveraltechniquestoelicittherequirementsfromthecustomer.Historically,thishasincludedsuchthingsasholdinginterviews,orholdingfocusgroups(moreaptlynamedinthiscontextasrequirementsworkshops)andcreatingrequirementslists.Moremoderntechniquesincludeprototyping,andusecases.Wherenecessary,theanalystwillemployacombinationofthesemethodstoestablishtheexactrequirementsofthestakeholders,sothatasystemthatmeetsthebusinessneedsisproduced.5.2REQUIREMENTENGINEERING:Systematicrequirementsanalysisisalsoknownasrequirementsengineering.[3]Itissometimesreferredtolooselybynamessuchasrequirementsgathering,requirementscapture,orrequirementsspecification.Thetermrequirementsanalysiscanalsobeappliedspecificallytotheanalysisproper,asopposedtoelicitationordocumentationoftherequirements,forinstance.RequirementsEngineeringcanbedividedintodiscretechronological steps:!Requirementselicitation,!Requirementsanalysisandnegotiation,!Requirementsspecification,!Systemmodeling!Requirementsvalidation,!Requirementsmanagement.RequirementengineeringaccordingtoLaplante(2007)is"asubdisciplineofsystemsengineeringandsoftwareengineeringthatisconcernedwithdeterminingthegoals,functions,andconstraintsofhardwareandsoftwaresystems."[4]Insomelifecyclemodels,therequirementengineeringprocessbeginswithafeasibilitystudyactivity,whichleadstoafeasibilityreport.Ifthefeasibilitystudysuggeststhattheproductshouldbedeveloped,thenrequirementanalysiscanbegin.Ifrequirementanalysisprecedesfeasibilitystudies,whichmayfosteroutsidetheboxthinking,thenfeasibilityshouldbedeterminedbeforerequirementsarefinalized.5.3 SOFTWARE REQUIREMENTSSPECIFICATIONAsoftwarerequirementsspecification(SRS)isacompletedescriptionofthebehaviourofthesystemtobedeveloped.Itincludesasetofusecasesthatdescribealloftheinteractionsthattheuserswillhavewiththesoftware.Usecasesarealsoknownasfunctionalrequirements.Inadditiontousecases,theSRSalso
image/svg+xml76containsnon-functional(orsupplementary)requirements.Non-functionalrequirementsarerequirementswhichimposeconstraintsonthedesignorimplementation(suchasperformancerequirements,qualitystandards,ordesignconstraints).RecommendedapproachesforthespecificationofsoftwarerequirementsaredescribedbyIEEE830-1998.Thisstandarddescribespossiblestructures,desirablecontents,andqualitiesofasoftwarerequirements specification.TypesofRequirementsRequirementsarecategorizedinseveralways.Thefollowingarecommoncategorizationsofrequirementsthatrelatetotechnicalmanagement.CustomerRequirementsStatementsoffactandassumptionsthatdefinetheexpectationsofthesystemintermsofmissionobjectives,environment,constraints,andmeasuresofeffectivenessandsuitability(MOE/MOS).Thecustomersarethosethatperformtheeightprimaryfunctionsofsystemsengineering,withspecialemphasisontheoperatorasthekeycustomer.Operationalrequirementswilldefinethebasicneedand,ataminimum,answerthequestionsposedinthefollowinglisting!Operationaldistributionordeployment:Wherewillthesystembeused?!Missionprofileorscenario:Howwillthesystemaccomplishitsmissionobjective?!Performanceandrelatedparameters:Whatarethecriticalsystemparameterstoaccomplishthemission?!Utilizationenvironments:Howarethevarioussystemcomponentstobeused?!Effectivenessrequirements:Howeffectiveorefficientmustthesystembeinperformingitsmission?!Operationallifecycle:Howlongwillthesystembeinusebytheuser?!Environment:Whatenvironmentswillthesystembeexpectedtooperateinaneffectivemanner?5.4 FUNCTIONALREQUIREMENTSFunctionalrequirementsexplainwhathastobedonebyidentifyingthenecessarytask,actionoractivitythatmustbeaccomplished.Functionalrequirementsanalysiswillbeusedasthetop-levelfunctionsforfunctionalanalysis
image/svg+xml77Non-functionalRequirementsNon-functionalrequirementsarerequirementsthatspecifycriteriathatcanbeusedtojudgetheoperationofasystem,ratherthanspecificbehaviors.PerformanceRequirementsTheextenttowhichamissionorfunctionmustbeexecuted;generallymeasuredintermsofquantity,quality,coverage,timelinessorreadiness.Duringrequirementsanalysis,performance(howwelldoesithavetobedone)requirementswillbeinteractivelydevelopedacrossallidentifiedfunctionsbasedonsystemlifecyclefactors;andcharacterizedintermsofthedegreeofcertaintyintheirestimate,thedegreeofcriticalitytosystemsuccess,andtheirrelationshiptootherrequirements.DesignRequirementsThe“buildto,”“codeto,”and“buyto”requirementsforproductsand“howtoexecute”requirementsforprocessesexpressedintechnicaldatapackagesandtechnicalmanuals.5.5SYSTEMANALYSISMODEL:TheSystemAnalysisModelismadeupofclassdiagrams,sequenceorcollaborationdiagramsandstate-chartdiagrams.Betweenthemtheyconstitutealogical,implementation-freeviewofthecomputersystemthatincludesadetaileddefinitionofeveryaspectoffunctionality.Thismodel:Defineswhatthesystemdoesnothowit doesit.Defineslogicalrequirementsinmoredetailthantheusecasemodel,ratherthanaphysicalsolutiontotherequirements.Leavesoutalltechnologydetail,includingsystemtopologySystemModelInformationFlow:Thediagramillustratesthewayinwhichthe3-dimensionalsystemmodelisdevelopediterativelyfromtheusescasemodelintermsoftheinformationwhichflowsbetweeneachview.Notethatit isnotpossiblefullytodevelopanyoneofthethreeviewswithouttheothertwo.Theyareinterdependent.Thisisthereasonwhyincrementalanditerativedevelopmentisthemostefficientwayofdevelopingcomputersoftware.
image/svg+xml785.6SCREENPROTOTYPING:Screenprototypingcanbeusedasanotherusefulwayofgettinginformationfromtheusers.WhenitisintegratedintoaUMLmodel:Theflowofthescreenismadeconsistentwiththeflowoftheusecaseandtheinteractionmodel.Thedataenteredanddisplayedonthescreenismadesistentwiththeobjectmodel.Thefunctionalityofthescreenismadeconsistentwiththeinteractionandobjectmodels.
image/svg+xml79TheSystemDesignModel:Thismodelisthedetailedmodelofeverythingthatisgoingtobeneededtowriteallthecodeforthesystemcomponents.Itistheanalysismodelplusalltheimplementationdetail.Preferablyitshouldbepossibleautomaticallytogenerateatleastframecodefromthismodel.Thismeansthatanystructuralchangestothecodecanbemadeinthedesignmodelandforwardgenerated.Thisensuresthatthedesignmodelaccuratelyreflectsthecodeinthecomponents.Thedesignmodelincludes:(1)Class,sequenceorcollaborationandstatediagrams-asintheanalysismodel,butnowfullydefinedreadyforcodegeneration(2)Componentdiagramsdefiningallthesoftwarecomponents,theirinterfacesanddependencies(3)Deploymentdiagramsdefiningthetopologyofthetargetenvironment,includingwhichcomponentswillrunonwhichcomputingnodesOverallProcessFlow:Theoverallprocessflowmustallowforbothreworkandincrementaldevelopment.Rework-wherechangesneedtobemade,theearliestmodelthatthechangeaffectsischangedfirstandtheresultsthenflowforwardthroughalltheothermodelstokeepthemuptodate.Incrementation-incrementscanrestartatanypoint,dependinguponwhethertheworkneededforthisincrementhasalreadybeencompletedinhigherlevelmodels.
image/svg+xml80IncrementalDevelopment:IncrementalDevelopmentisbasedonusecasesorusecaseflowswhichdefineworkingpiecesoffunctionalityattheuserlevel.Withinan'Increment',themodelsrequiredtodevelopaworkingsoftwareincrementareeachincrementeduntilaworking,testedexecutingpieceofsoftwareisproducedwithincrementalfunctionality.Thisapproach:(1)Improvesestimation,planningandassessment.Usecasesprovidebetterbaselinesforestimationthantraditionallywrittenspecifications.Theestimatesarecontinuouslyupdatedandimprovedthroughouttheproject.(2)Allowsriskstotheprojecttobeaddressedincrementallyandreducedearlyinthelifecycle.Earlyincrementscanbescheduledtocoverthemostriskypartsofthearchitecture.Whenthearchitectureisstable,developmentcanbespeededup.(3)Benefitsusers,managersanddeveloperswhoseeworkingfunctionalityearlyinthelifecycle.Eachincrementis,effectively,aprototypeforthenextincrement.5.7 MODELORGANISATION:Allmodelsyntaxesprovideanumberofmodelelementswhichcanappearononeormorediagramtypes.Themodelelementsarecontainedwithacentralmodel,togetherwithalltheirpropertiesandconnectionstoothermodelelements.Thediagramsareindependentviewsofthemodel,justasanumberofcomputerscreenslookingintodifferentrecordsorpartsofadatabaseshowdifferentviews.Thefunctionalview,madeupofdataflowdiagrams,istheprimaryviewofthesystem.Itdefineswhatisdone,theflowofdatabetweenthingsthataredoneandprovidestheprimarystructureofthesolution.Changesinfunctionalityresultinchangesinthesoftwarestructure.Thedataview,madeupofentityrelationshipdiagrams,isarecordofwhatisinthesystem,orwhatisoutsidethesystemthatisbeingmonitored.Itisthestaticstructuralview.Thedynamicview,madeupofstatetransitiondiagrams,defineswhenthingshappenandtheconditionsunderwhichtheyhappen.
image/svg+xml81DiagramType1DiagramType2ModelStructuredAnalysis:Instructuredanalysistherearethreeorthogonalviews:EncapsulationofHardware:Theconceptofencapsulationofdataandfunctionalitythatbelongstogetherissomethingwhichthehardwareindustryhasbeendoingforalongtime.Hardwareengineershavebeencreatingre-useable,re-configurablehardwareateachlevelofabstractionsincetheearlysixties.ElementaryBooleanfunctionsareencapsulatedtogetherwithbitsandbytesofdatainregistersonchips.Chipsareencapsulatedtogetheroncircuitboards.Circuitboardsaremadetoworktogetherinvarioussystemboxesthatmakeupthecomputer.Computersaremadetoworktogetheracrossnetworks.Hardwaredesign,therefore,istotallyobjectorientedateverylevelandis,asaresult,maximallyre-useable,extensibleandmaintainable;inasingleword:flexible.Applyingobject-orientationtosoftware,therefore,couldbeseenasputtingtheengineeringintosoftwaredesignthathasexistedinhardwaredesignformanyyears.HardwareencapsulatesdataandfunctionateverylevelofabstractionMaximisesmaintainability,reuseandextensionEncapsulationofSoftware:Inwelldevelopedobjectorientedsoftware,functionalityanddataisencapsulatedinobjects.Objectsareencapsulatedin
image/svg+xml82components.Componentsareencapsulatedintosystems.Ifthisisdonewelltheresultis:MaximalcoherenceMinimalinterconnectionSolidinterfacedefinitions5.8SUMMARYThischapterbasedonrequirementanalysiswhichincludesdatarequirement,dataanalysis,hardware,softwarerequirementsaswellassystemuserrequirements.Questions:1.ExplainSoftwarerequirementsspecificationindetail?Ans:refer5.32.ExplainSystemAnalysisModel?Ans:refer5.5
image/svg+xmlDATAFLOW DIAGRAMS6.1INTRODUCTION:Adata-flowdiagram(DFD)isagraphicalrepresentationofthe"flow"ofdatathroughaninformationsystem.DFDscanalsobeusedforthevisualizationofdataprocessing(structureddesign).OnaDFD,dataitemsflowfromanexternaldatasourceoraninternaldatastoretoaninternaldatastoreoranexternaldatasink,viaaninternalprocess.ADFDprovidesnoinformationaboutthetimingofprocesses,oraboutwhetherprocesseswilloperateinsequenceorinparallel.Itisthereforequitedifferentfromaflowchart,whichshowstheflowofcontrolthroughanalgorithm,allowingareadertodeterminewhatoperationswillbeperformed,inwhatorder,andunderwhatcircumstances,butnotwhatkindsofdatawillbeinputtoandoutputfromthesystem,norwherethedatawillcomefromandgoto,norwherethedatawillbestored(allofwhichareshownonaDFD).6.2 OVERVIEW OFDFD:Itiscommonpracticetodrawacontext-leveldataflowdiagramfirst,whichshowstheinteractionbetweenthesystemandexternalagentswhichactasdatasourcesanddatasinks.Onthecontextdiagram(alsoknownasthe'Level0DFD')thesystem'sinteractionswiththeoutsideworldaremodelledpurelyintermsofdataflowsacrossthesystemboundary.Thecontextdiagram
image/svg+xml84showstheentiresystemasasingleprocess,andgivesnocluesasto itsinternalorganization.Thiscontext-levelDFDisnext"exploded",toproduceaLevel1DFDthatshowssomeofthedetailofthesystembeingmodeled.TheLevel1DFDshowshowthesystemisdividedintosub-systems(processes),eachofwhichdealswithoneormoreofthedataflowstoorfromanexternalagent,andwhichtogetherprovideallofthefunctionalityofthesystemasawhole.Italsoidentifiesinternaldatastoresthatmustbepresentinorderforthesystemtodoitsjob,andshowstheflowofdatabetweenthevariouspartsofthesystem.Data-flowdiagramswereproposedbyLarryConstantine,theoriginaldeveloperofstructureddesign,basedonMartinandEstrin's"data-flowgraph"modelofcomputation.Data-flowdiagrams(DFDs)areoneofthethreeessentialperspectivesofthestructured-systemsanalysisanddesignmethodSSADM.Thesponsorofaprojectandtheenduserswillneedtobebriefedandconsultedthroughoutallstagesofasystem'sevolution.Withadata-flowdiagram,usersareabletovisualizehowthesystemwilloperate,whatthesystemwillaccomplish,andhowthesystemwillbeimplemented.Theoldsystem'sdataflowdiagramscanbedrawnupandcomparedwiththenewsystem'sdata-flowdiagramstodrawcomparisonstoimplementamoreefficientsystem.Data-flowdiagramscanbeusedtoprovidetheenduserwithaphysicalideaofwherethedatatheyinputultimatelyhasaneffectuponthestructureofthewholesystemfromordertodispatchtoreport.Howanysystemisdevelopedcanbedeterminedthroughadata-flowdiagram.6.2.1HowtodevelopDataFlowDiagram:Top-downapproach1.ThesystemdesignermakesacontextlevelDFDorLevel0,whichshowsthe"interaction"(dataflows)between"thesystem"(representedbyoneprocess)and"thesystemenvironment"(represented byterminators).2.Thesystemis"decomposedinlower-levelDFD(Level1)"intoasetof"processes,datastores,andthedataflowsbetweentheseprocessesanddatastores".3.Eachprocessisthendecomposedintoan"even-lower-leveldiagramcontainingitssubprocesses".4.Thisapproach"thencontinuesonthesubsequentsubprocesses",untilanecessaryandsufficientlevelofdetailisreachedwhichiscalledtheprimitiveprocess(akachewableinonebite).
image/svg+xml85Diagram:ExampleofDFDflow:6.2.2NotationfortoDrawDataFlowDiagram:Dataflowdiagramspresentthelogicalflowofinformationthroughasystemingraphicalorpictorialform.Dataflowdiagramshaveonlyfoursymbols,whichmakesusefulforcommunicationbetweenanalystsandusers.Dataflowdiagrams(DFDs)showthedatausedandprovidedbyprocesseswithinasystem.DFDsmakeuseoffourbasicsymbols.Createstructuredanalysis,informationflow,process-oriented,data-oriented,anddataprocessdiagramsaswellasdataflowcharts.
image/svg+xml86ExternalEntityAnexternalentityisasourceordestinationofadataflowwhichisoutsidetheareaofstudy.Onlythoseentitieswhichoriginateorreceivedataarerepresentedonabusinessprocessdiagram.Thesymbolusedisanovalcontainingameaningfulanduniqueidentifier.ProcessAprocessshowsatransformationormanipulationofdataflowswithinthesystem.Thesymbolusedisarectangularboxwhichcontains3descriptiveelements:Firstlyanidentificationnumberappearsintheupperlefthandcorner.Thisisallocatedarbitrarilyatthetoplevelandservesasauniquereference.Secondly,alocationappearstotherightoftheidentifieranddescribeswhereinthesystemtheprocesstakesplace.Thismay,forexample,beadepartmentorapieceofhardware.Finally,adescriptivetitleisplacedinthecentreofthebox.Thisshouldbeasimpleimperativesentencewithaspecificverb,forexample'maintaincustomerrecords'or'find driver'.DataFlowAdataflowshowstheflowofinformationfromitssourcetoitsdestination.Adataflowisrepresentedbyaline,witharrowheadsshowingthedirectionofflow.Informationalwaysflowstoorfromaprocessandmaybewritten,verbalorelectronic.Eachdataflowmaybereferencedbytheprocessesordatastoresatitsheadandtail,orbyadescriptionofitscontents.DataStoreAdatastoreisaholdingplaceforinformationwithinthesystem:Itisrepresentedbyanopenendednarrowrectangle.Datastoresmaybelong-termfilessuchassalesledgers,ormaybeshort-termaccumulations:forexamplebatchesofdocumentsthatarewaitingtobeprocessed.Eachdatastoreshouldbegivenareferencefollowedbyanarbitrarynumber.ResourceFlowAresourceflowshowstheflowofanyphysicalmaterialfromitssourcetoitsdestination.Forthisreasontheyaresometimesreferredtoasphysicalflows.Thephysicalmaterialinquestionshouldbegivenameaningfulname.Resourceflowsareusuallyrestrictedtoearly,high-leveldiagramsandareusedwhenadescriptionofthephysicalflowofmaterialsisconsideredtobeimportanttohelptheanalysis.
image/svg+xml87ExternalEntitiesItisnormalforalltheinformationrepresentedwithinasystemtohavebeenobtainedfrom,and/ortobepassedonto,anexternalsourceorrecipient.Theseexternalentitiesmaybeduplicatedonadiagram,toavoidcrossingdataflowlines.Wheretheyareduplicatedastripeisdrawnacrossthelefthandcorner,likethis.Theadditionofalowercaselettertoeachentityonthediagramisagoodwaytouniquelyidentifythem.ProcessesWhennamingprocesses,avoidglossingoverthem,withoutreallyunderstandingtheirrole.Indicationsthatthishasbeendonearetheuseofvaguetermsinthedescriptivetitlearea-like'process' or'update'.Themostimportantthingtorememberisthatthedescriptionmustbemeaningfultowhoeverwillbeusingthediagram.DataFlowsDoubleheadedarrowscanbeused(toshowtwo-wayflows)onallbutbottomleveldiagrams.Furthermore,incommonwithmostoftheothersymbolsused,adataflowataparticularlevelofadiagrammaybedecomposedtomultipledataflowsatlowerlevels.DataStoresEachstoreshouldbegivenareferenceletter,followedbyanarbitrarynumber.Thesereferencelettersareallocatedasfollows:'D'-indicatesapermanentcomputerfile'M'-indicatesamanualfile'T'-indicatesatransientstore,onethatisdeletedafterprocessing.Inordertoavoidcomplexflows,thesamedatastoremaybedrawnseveraltimesonadiagram.Multipleinstancesofthesamedatastoreareindicatedbyadoubleverticalbarontheirlefthandedge.6.2.3DataFlowDiagramExample:AdataflowDiagramexampleisagraphicrepresentationofallthemajorstepsofaprocess.Itcanhelpyou:·Understandthecompleteprocess.·Identifythecriticalstagesofaprocess.·Locateproblemareas.·Showrelationshipsbetweendifferentstepsinaprocess.ProfessionallookingexamplesandtemplatesofDataFlowDiagramwhichhelpyoucreatedataflowdiagramsrapidly.Document6SigmaandISO9000processes.
image/svg+xml88Example:Dataflowdiagramscanbeusedtoprovideaclearrepresentationofanybusinessfunction.Thetechniquestartswithanoverallpictureofthebusinessandcontinuesbyanalyzingeachofthefunctionalareasofinterest.Thisanalysiscanbecarriedouttopreciselythelevelofdetailrequired.Thetechniqueexploitsamethodcalledtop-downexpansiontoconducttheanalysisinatargetedway.DataFlowDiagramsDiagramNotationThereareonlyfivesymbolsthatareusedinthedrawingofbusinessprocessdiagrams(dataflowdiagrams).Thesearenowexplained,togetherwiththerulesthatapplytothem.Thisdiagramrepresentsabankingprocess,whichmaintainscustomeraccounts.Inthisexample,customerscanwithdrawordepositcash,requestinformationabouttheiraccountorupdatetheiraccountdetails.Thefivedifferentsymbolsusedinthisexamplerepresentthefullsetofsymbolsrequiredtodrawanybusinessprocessdiagram.ExternalEntityAnexternalentityisasourceordestinationofadataflowwhichisoutsidetheareaofstudy.Onlythoseentitieswhich
image/svg+xml89originateorreceivedataarerepresentedonabusinessprocessdiagram.Thesymbolusedisanovalcontainingameaningfulanduniqueidentifier.ProcessAprocessshowsatransformationormanipulationofdataflowswithinthesystem.Thesymbolusedisarectangularboxwhichcontains3descriptiveelements:Firstlyanidentificationnumberappearsintheupperlefthandcorner.Thisisallocatedarbitrarilyatthetoplevelandservesasauniquereference.Secondly,alocationappearstotherightoftheidentifieranddescribeswhereinthesystemtheprocesstakesplace.Thismay,forexample,beadepartmentorapieceofhardware.Finally,adescriptivetitleisplacedinthecentreofthebox.Thisshouldbeasimpleimperativesentencewithaspecificverb,forexample'maintaincustomerrecords'or'find driver'.DataFlowAdataflowshowstheflowofinformationfromitssourcetoitsdestination.Adataflowisrepresentedbyaline,witharrowheadsshowingthedirectionofflow.Informationalwaysflowstoorfromaprocessandmaybewritten,verbalorelectronic.Eachdataflowmaybereferencedbytheprocessesordatastoresatitsheadandtail, orbyadescriptionofitscontents.DataStoreAdatastoreisaholdingplaceforinformationwithinthesystem:Itisrepresentedbyanopenendednarrowrectangle.Datastoresmaybelong-termfilessuchassalesledgers,ormaybeshort-termaccumulations:forexamplebatchesofdocuments
image/svg+xml90thatarewaitingtobeprocessed.Eachdatastoreshouldbegivenareferencefollowedbyanarbitrarynumber.ResourceFlowAresourceflowshowstheflowofanyphysicalmaterialfromitssourcetoitsdestination.Forthisreasontheyaresometimesreferredtoasphysicalflows.Thephysicalmaterialinquestionshouldbegivenameaningfulname.Resourceflowsareusuallyrestrictedtoearly,high-leveldiagramsandareusedwhenadescriptionofthephysicalflowofmaterialsisconsideredtobeimportanttohelptheanalysis.ExampleforOnlineInventorySystem:GivesvendordetailsReceiveenquirydetailsSendsquotationdetailsDataFlowDiagramVendorReceivepurchaseorderdetailsGivesdeliverychallandetailsTake GRNGiveemployeedetailsReceivechallandetails0.0OnlineInventorySystemReceivesstockdetailsGivesenquirydetailsEmployeeGiveGRNdetailsGivespurchasereturndetailsGivespurchaseorderdetailsManagementViewsreportdetails13
image/svg+xml91ExamplesofDataFlowDiagram6.3SUMMARY:Thischapterbasedonsystematicflowofdatawiththehelpofsomenotation,symbolwhichestablishedbyscientist.Theflowofdataindicatessequencetoexecuteandprocessdatainthesystem.ThisDFDisananalysismethodtoanalyzethedatauptousersatisfiedlevel.Questions:1.ExplainDFDwithexample?Ans:refer6.22.DrawaDFDforSale&PurchaseManagementSystemforManufacturingIndustry.Ans:refer6.23..DrawaDFDforEventManagementSystemforHotel.Ans:refer6.2
image/svg+xmlENTITYRELATIONSHIPDIAGRAM7.1INTRODUCTION:ThisactivityisdesignedtohelpyouunderstandtheprocessofdesigningandconstructingERDsusingSystemsArchitect.EntityRelationshipDiagramsareamajordatamodelingtoolandwillhelporganizethedatainyourprojectintoentitiesanddefinetherelationshipsbetweentheentities.Thisprocesshasprovedtoenabletheanalysttoproduceagooddatabasestructuresothatthedatacanbestoredandretrievedinamostefficientmanner.
image/svg+xml937.2ENTITYAdataentityisanythingrealorabstractaboutwhichwewanttostoredata.Entitytypesfallintofiveclasses:roles,events,locations,tangiblethingsorconcepts.E.g.employee,payment,campus,book.Specificexamplesofanentityarecalledinstances.E.g.theemployeeJohnJones,MarySmith'spayment,etc.RelationshipAdatarelationshipisanaturalassociationthatexistsbetweenoneormoreentities.E.g.Employeesprocesspayments.Cardinalitydefinesthenumberofoccurrencesofoneentityforasingleoccurrenceoftherelatedentity.E.g.anemployeemayprocessmanypaymentsbutmightnotprocessanypaymentsdependingonthenatureofherjob.AttributeAdataattributeisacharacteristiccommontoallormostinstancesofaparticularentity.Synonymsincludeproperty,dataelement,field.E.g.Name,address,SSN,payrateareallattributesoftheentityemployee.Anattributeorcombinationofattributesthatuniquelyidentifiesoneandonlyoneinstanceofanentityiscalledaprimarykeyoridentifier.E.g.SSNisaprimarykeyforEmployee.7.3ENTITYRELATIONSHIPDIAGRAMMETHODOLOGY1.IdentifyEntitiesIdentifytheroles,events,locations,tangiblethingsorconceptsaboutwhichtheend-userswanttostoredata.2.FindRelationshipsFindthenaturalassociationsbetweenpairsofentitiesusingarelationshipmatrix.3.DrawRoughERDPutentitiesinrectanglesandrelationshipsonlinesegmentsconnectingtheentities.4.Fillin CardinalityDeterminethenumberofoccurrencesofoneentityforasingleoccurrenceoftherelatedentity.5.DefinePrimaryKeysIdentifythedataattribute(s)thatuniquelyidentifyoneandonlyoneoccurrenceofeachentity.6.DrawKey-BasedERDEliminateMany-to-Manyrelationshipsandincludeprimaryandforeignkeysineachentity.7.IdentifyAttributesNametheinformationdetails(fields)whichareessentialtothesystemunderdevelopment.
image/svg+xml948.MapAttributesForeachattribute,matchitwithexactlyoneentitythatitdescribes.9. DrawfullyattributedERDAdjusttheERDfromstep6toaccountforentitiesorrelationshipsdiscoveredinstep8.10.CheckResultsDoesthefinalEntityRelationshipDiagramaccuratelydepictthesystemdata?7.3.1SolvedExample:Acompanyhasseveraldepartments.Eachdepartmenthasasupervisorandatleastoneemployee.Employeesmustbeassignedtoatleastone,butpossiblymoredepartments.Atleastoneemployeeisassignedtoaproject,butanemployeemaybeonvacationandnotassignedtoanyprojects.Theimportantdatafieldsarethenamesofthedepartments,projects,supervisorsandemployees,aswellasthesupervisorandemployeeSSNandauniqueprojectnumber.1.IdentifyEntitiesTheentitiesinthissystemareDepartment,Employee,SupervisorandProject.OneistemptedtomakeCompanyanentity,butitisafalseentitybecauseithasonlyoneinstanceinthisproblem.Trueentitiesmusthavemorethanoneinstance.2.FindRelationships:WeconstructthefollowingEntityRelationshipMatrix:Dept.EmployeeSupervisorProjectDepartmentisassignedrunbyEmployeebelongstoWorksonSupervisorrunsProjectUses3.DrawRoughERD:WeconnecttheentitieswheneverarelationshipisshownintheentityRelationshipMatrix.__________________|Department|______________Runby________________|Supervisor|||||----------------------------|||-----------------------|___Is_____|Employee|_______Workson__________|Project|assigned||||-----------------------
image/svg+xml954.FillinCardinalityFromthedescriptionoftheproblemweseethat:!Eachdepartmenthasexactlyonesupervisor.!Asupervisorisinchargeofoneandonlyonedepartment.!Eachdepartmentisassignedatleastoneemployee.!Eachemployeeworksforatleastonedepartment.!Eachprojecthasatleastoneemployeeworkingonit.!Anemployeeisassignedto0ormoreprojects.____________________|Department|Runby|Supervisor|||-++------------------------++-||--|-------------------------W+|-----------------------|Is|Employee|Workson|Project|--------+<-||->+-----------------------0<-||Assigned -----------------------5.DefinePrimaryKeysTheprimarykeysareDepartmentName,SupervisorSSN,EmployeeSSN,ProjectNumber.6.DrawKey-BasedERDTherearetwomany-to-manyrelationshipsintheroughERDabove,betweenDepartmentandEmployeeandbetweenEmployeeandProject.ThusweneedtheassociativeentitiesDepartment-EmployeeandEmployee-Project.TheprimarykeyforDepartment-EmployeeistheconcatenatedkeyDepartmentNameandEmployeeSSN.TheprimarykeyforEmployee-ProjectistheconcatenatedkeyEmployeeSSNandProjectNumber.
image/svg+xml96ExampleforInventoryManagementSystem:ERD:Stock1mmEnquirymEnquiry_itemm1mmItemmm1hashasOuotation_itemChallan_item1Quotationm11Vendor11hasmhas111mPO1Purchase_order_item1mhashasm1mChallan1mhashasPurchase_return_itemmPurchaseret.mmhas1mmGRN1has1m1GRN_itemInvoiceemployee
image/svg+xml97ExampletodrawERDforTravellingService:UserIsaAdmin*TariffPlanhas1refund1hashashasCancellationcharges7.IdentifyAttributesTheonlyattributesindicatedarethenamesofthedepartments,projects,supervisorsandemployees,aswellasthesupervisorandemployeeSSNandauniqueprojectnumber.8.MapAttributesAttributeEntityAttributeEntityDepartmentNameDepartmentSupervisorSSNSupervisorEmployeeSSNEmployeeSupervisorNameSupervisorEmployeeNameEmployeeProjectNameProjectProjectIDProjectTravellerServiceprovider1hasBaggagehas11Configure*Flight111hasallowed1Flight schedule1has1has**paymenthasBooking111111cancellation1fare
image/svg+xml989.DrawFullyAttributedERD________________9.DrawFullyAttributedERD________________________________|Department|Runby|Supervisor||___KeyData___|-++---------------------------++-|___KeyData________||DeptName[PK1]||SupervisorSSN[PK1]|--|-------------|____Non-Key Data___|+|SupervisorName|+---------------------||---------------------------------------|Is|Employee-Dept|involves|Employee|--------+<-|____KeyData______|->+--------------++-|____KeyData___|Assigned|Dept Name[PK1][FK]||Employee SSN[PK1]||Emp.SSN[PK1][FK]||___Non-KeyDATA__|--------------------|EmployeeName|-------------------++Works|on|0M---------------------------------------|Project|Includes|Employee-Project||____KeyData______|++--------------------+<-|____KeyData_____||ProjectNum.[PK1]||Emp.SSN[PK1][FK]||___Non-Key Data___||ProjNum[PK1][FK]||ProjectName|---------------------------------------10.CheckResultsThefinalERDseemstomodelthedatainthissystemwell.7.4DATADICTIONARY:Adatadictionary,a.k.a.metadatarepository,asdefinedintheIBMDictionaryofComputing, isa"centralizedrepositoryofinformationaboutdatasuchasmeaning,relationshipstootherdata,origin,usage,andformat."Thetermmayhaveoneofseveralcloselyrelatedmeaningspertainingtodatabasesanddatabasemanagementsystems(DBMS):adocumentdescribingadatabaseorcollectionofdatabasesanintegralcomponentofaDBMSthatisrequiredtodetermineitsstructureapieceofmiddlewarethatextendsorsupplantsthenativedatadictionaryofaDBMS
image/svg+xml99Databaseusersandapplicationdeveloperscanbenefitfromanauthoritativedatadictionarydocumentthatcatalogstheorganization,contents,andconventionsofoneormoredatabases.Thistypicallyincludesthenamesanddescriptionsofvarioustablesandfieldsineachdatabase,plusadditionaldetails,likethetypeandlengthofeachdataelement.Thereisnouniversalstandardastothelevelofdetailinsuchadocument,butitisprimarilyaweakkindofdata.7.4.1ExampleofDataDictionary:7.5UMLDIAGRAM:UnifiedModellingLanguage(UML)isastandardizedgeneral-purposemodellinglanguageinthefieldofsoftwareengineering.Thestandardismanaged,andwascreatedby,theObjectManagement Group.
image/svg+xml100TheUnifiedModellingLanguage(UML)isusedtospecify,visualize,modify,constructanddocumenttheartifactsofanobject-orientedsoftwareintensivesystemunderdevelopment.[1]UMLoffersastandardwaytovisualizeasystem'sarchitecturalblueprints,includingelementssuchas:actorsbusinessprocesses(logical)componentsactivitiesprogramminglanguagestatementsdatabaseschemas,andreusablesoftwarecomponents7.5.1Whatis UML?TheUnifiedModellingLanguagewasoriginallydevelopedatRationalSoftwarebutisnowadministeredbytheObjectManagementGroup(seelink).Itisamodellingsyntaxaimedprimarilyatcreatingmodelsofsoftware-basedsystems,butcanbeusedinanumberofareas.Itis:Syntaxonly-UMLisjustalanguage;ittellsyouwhatmodelelementsanddiagramsareavailableandtherulesassociatedwiththem.Itdoesnottell youwhatdiagramstocreate.Process-independent-theprocessbywhichthemodelsarecreatedisseparatefromthedefinitionofthelanguage.YouwillneedaprocessinadditiontotheuseofUMLitself.Tool-independent-UMLleavesplentyofspacefortoolvendorstobecreativeandaddvaluetovisualmodellingwithUML.However,sometoolswillbebetterthanothersforparticularapplications.Welldocumented-theUMLnotationguideisavailableasareferencetoallthesyntaxavailableinthelanguage.Itsapplicationisnotwellunderstood-theUMLnotationguideisnotsufficienttoteachyouhowtousethelanguage.Itisagenericmodellinglanguageandneedstobeadaptedbytheusertoparticularapplications.Originallyjustforsystemmodelling-someuser-definedextensionsarebecomingmorewidelyusednow,forexample,forbusinessmodellingandmodellingthedesignofweb-basedapplications.7.5.2 HowUMLStarted?UMLcameaboutwhenJamesRumbaughjoinedGradyBoochatRationalSoftware.Theybothhadobject-oriented
image/svg+xml101syntaxesandneededtocombinethem.Semantically,theywereverysimilar;itwasmainlythesymbolsthatneededtobeunified.UMLDiagramisdividedintofourtypes:-ActivityDiagrams-agenericflowchartusedmuchinbusinessmodellingandsometimesinusecasemodellingtoindicatetheoverallflowoftheusecase.Thisdiagramtypereplacestheneedfordataflowdiagramsbutisnotamaindiagramtypeforthepurposesofanalysisanddesign.-StateMachineDiagrams-ininformationsystemsthesetendtobeusedtodescibethelifecycleofanimportantdataentity.Inreal-timesystemstheytendtobeusedtodescribestatedependentbehaviour-ComponentDiagrams-showthetypesofcomponents,theirinterfacesanddependenciesinthesoftwarearchitecturethatisthesolutiontotheapplicationbeingdeveloped.-DeploymentDiagrams-showactualcomputingnodes,theircommunicationrelationshipsandtheprocessesorcomponentsthatrunonthem.UMLcanbeusedtomodelabusiness,priortoautomatingitwithcomputers.ThesamebasicUMLsyntaxisused;however,anumberofnewsymbolsareadded,inordertomakethediagramsmorerelevanttothebusinessprocessworld.Acommonly-usedsetofthesesymbolsisavailableincurrentversionsofRationalRose.ThemostcommonlyusedUMLextensionsforwebapplicationsweredevelopedbyJimConallen.Youcanaccesshisownwebsitetolearnmoreaboutthembyfollowingthelink.ThesesymbolsarealsoavailableincurrentversionsofRationalRose.UMLisdesignedtobeextendedinthisway.Extensionstothesyntaxarecreatedbyadding'stereotypes'toamodelelement.Thestereotypecreatesanewmodelelementfromanexistingonewithanextended,user-definedmeaning.Userdefinedsymbols,whichreplacetheoriginalUMLsymbolforthemodelelement,canthenbeassignedtothestereotype.UMLitselfusesthismechanism,soitisimportanttoknowwhatstereotypesarepredefinedinUMLinordernottoclashwiththemwhencreatingnewones.Theusecasediagramshowsthefunctionalityofthesystemfromanoutside-inviewpoint.
image/svg+xml102-Actors(stickmen)areanythingoutsidethesystemthatinteractswiththesystem.-UseCases(ovals)aretheproceduresbywhichtheactorsinteractwiththesystem.-Solidlinesindicatewhichactorsinteractwiththesystemaspartofwhichprocedures.-Dashedlinesshowdependenciesbetweenusecases,whereoneusecaseis'included'inor'extends'another.7.6 CLASS DIAGRAM:Classdiagramsshowthestaticstructureofthesystems.Classesdefinethepropertiesoftheobjectswhichbelongtothem.These include:-Attributes-(secondcontainer)thedatapropertiesoftheclassesincludingtype,defaultvalueandconstraints.
image/svg+xml1037.6.1Example:-Operations-(thirdcontainer)thesignatureofthefunctionalitythatcanbeappliedtotheobjectsoftheclassesincludingparameters,parametertypes,parameterconstraints,returntypesandthesemantics.-Associations-(solidlinesbetweenclasses)thereferences,containedwithintheobjectsoftheclasses,tootherobjects,enablinginteractionwiththoseobjects.SequenceDiagram:Sequencediagramsshowpotentialinteractionsbetweenobjectsinthesystembeingdefined.Normallythesearespecifiedaspartofausecaseorusecaseflowandshowhowtheusecasewillbeimplementedinthesystem.Theyinclude:-Objects-oblongboxesoractorsatthetop-eithernamedorjustshownasbelongingtoaclass,from,ortowhichmessagesaresenttootherobjects.
image/svg+xml104Example:-Messages-solidlinesforcallsanddottedlinesfordatareturns,showingthemessagesthataresentbetweenobjectsincludingtheorderofthemessageswhichisfromthetoptothebottomofthediagram.-Objectlifelines-dottedverticallinesshowingthelifetimeoftheobjects.-Activation-theverticaloblongboxesontheobjectlifelinesshowingthethreadofcontrolinasynchronoussystem.7.7COMMUNICATIONDIAGRAM:CommunicationDiagramsshowsimilarinformationtosequencediagrams,exceptthattheverticalsequenceismissing.Initsplaceare:
image/svg+xml105-ObjectLinks-solidlinesbetweentheobjects.Theserepresentthereferencesbetweenobjectsthatareneededforthemtointeractandsoshowthestaticstructureatobjectlevel.-Messages-arrowswithoneormoremessagenamethatshowthedirectionandnamesofthemessagessentbetweenobjects.7.8ACTIVITYDIAGRAM:AUMLActivityDiagramisageneralpurposeflowchartwithafewextras.Itcanbeusedtodetailabusinessprocess,ortohelpdefinecomplexiterationandselectioninausecasedescription.Itincludes:-Activestates-oblongswithroundedcornerswhichdescribewhatis done.-Transitions-whichshowtheorderinwhichtheactivestatesoccurandrepresentathreadofactivity?- Conditions-(insquarebrackets)whichqualifythetransitions.-Decisions-(nodesinthetransitions)whichcausethethreadtoselectoneofmultiplepaths.
image/svg+xml1067.9 COMPONENTDIAGRAM:ComponentDiagramsshowthetypesofsoftwarecomponentsinthesystem,theirinterfacesanddependencies.7.9.1Example:7.10 DEPLOYMENTDIAGRAM:Deploymentdiagramsshowthecomputingnodesinthesystem,theircommunicationlinks,thecomponentsthatrunonthemandtheirdependencies.7.10.1Example:
image/svg+xml1077.11SUMMARY:Inthischapterwediscussedmanypointsrelatedtosystemdevelopmentandanalysismodel.Thesemodelhelpstoustorepresentanysystemlikeonlineandofflinesystem.Questions:1.ExplainER-Diagramindetail?Ans:refer7.22.ExplainUMLdiagramindetail?Ans:refer7.53.DrawanERDforHotelMangamentSystem.Ans:refer7.24.DrawaUsecasediagramforOnlineShoppingforGreetingcard.Ans:refer7.5
image/svg+xmlDESIGN8.1INTRODUCTION:Systemsdesignistheprocessorartofdefiningthearchitecture,components,modules,interfaces,anddataforasystemtosatisfyspecifiedrequirements.Onecouldseeitastheapplicationofsystemstheorytoproductdevelopment.Thereissomeoverlapwiththedisciplinesofsystemsanalysis,systemsarchitectureandsystemsengineering.
image/svg+xml109Object-orientedanalysisanddesignmethodsarebecomingthemostwidelyusedmethodsforcomputersystemdesign.TheUMLhasbecomethestandardlanguageusedinObject-orientedanalysisanddesign.Itiswidelyusedformodelingsoftwaresystemsandisincreasinglyusedforhighdesigningnon-softwaresystemsandorganizations.8.2LOCALDESIGN:Thelogicaldesignofasystempertainstoanabstractrepresentationofthedataflows,inputsandoutputsofthesystem.Thisisoftenconductedviamodelling,whichinvolvesasimplistic(andsometimesgraphical)representationofanactualsystem.Inthecontextofsystemsdesign,modellingcanundertakethefollowingforms,including:DataflowdiagramsEntityLifeHistoriesEntityRelationshipDiagrams8.3PHYSICALDESIGN:Thephysicaldesignrelatestotheactualinputandoutputprocessesofthesystem.Thisislaiddownintermsofhowdataisinputtedintoasystem,howitisverified/authenticated,howitisprocessed,andhowit isdisplayedasoutput.Physicaldesign,inthiscontext,doesnotrefertothetangiblephysicaldesignofaninformationsystem.Touseananalogy,apersonalcomputer'sphysicaldesigninvolvesinputviaakeyboard,processingwithintheCPU,andoutputviaamonitor,printer,etc.Itwouldnotconcerntheactuallayoutofthetangiblehardware,whichforaPCwouldbeamonitor,CPU,motherboard,harddrive,modems,video/graphicscards,USBslots,etc8.4ALTERNATIVEDESIGNMETHOD:8.4.1RapidApplicationDevelopment(RAD)RapidApplicationDevelopment(RAD)isamethodologyinwhichasystemsdesignerproducesprototypesforanend-user.Theend-userreviewstheprototype,andoffersfeedbackonitssuitability.Thisprocessisrepeateduntiltheend-userissatisfiedwiththefinalsystem.
image/svg+xml1108.4.2JointApplicationDevelopment(JAD)JADisamethodologywhichevolvedfromRAD,inwhichasystemsdesignerconsultswithagroupconsistingofthefollowingparties:ExecutivesponsorSystemsDesignerManagersofthesystem8.5EMBEDDEDSYSTEM:Anembeddedsystemisacomputersystemdesignedtoperformoneorafewdedicatedfunctionsoftenwithreal-timecomputingconstraints.Itisembeddedaspartofacompletedeviceoftenincludinghardwareandmechanicalparts.Bycontrast,ageneral-purposecomputer,suchasapersonalcomputer(PC),isdesignedtobeflexibleandtomeetawiderangeofend-userneeds.Characteristics:1.Embeddedsystemsaredesignedtodosomespecifictask,ratherthanbeageneral-purposecomputerformultipletasks.Somealsohavereal-timeperformanceconstraintsthatmustbemet,forreasonssuchassafetyandusability;othersmayhavelowornoperformancerequirements,allowingthesystemhardwaretobesimplifiedtoreducecosts.2.Embeddedsystemsarenotalwaysstandalonedevices.Manyembeddedsystemsconsistofsmall,computerizedpartswithinalargerdevicethatservesamoregeneralpurpose.Forexample,theGibsonRoboGuitarfeaturesanembeddedsystemfortuningthestrings,buttheoverallpurposeoftheRobotGuitaris,ofcourse,toplaymusic.Similarly,anembeddedsysteminanautomobileprovidesaspecificfunctionasasubsystemofthecaritself.3.Theprograminstructionswrittenforembeddedsystemsarereferredtoasfirmware,andarestoredinread-onlymemoryorFlashmemorychips.Theyrunwithlimitedcomputerhardwareresources:littlememory,smallornon-existentkeyboardand/orscreen.8.6DESIGNPHASEACTIVITIES:1.TheSystemsDevelopmentLifeCycle(SDLC),orSoftwareDevelopmentLifeCycleinsystemsengineering,informationsystemsandsoftwareengineering,istheprocessofcreatingor
image/svg+xml111alteringsystems,andthemodelsandmethodologiesthatpeopleusetodevelopthesesystems.Theconceptgenerallyreferstocomputerorinformationsystems.2. Workbreakdownstructureorganization:TheuppersectionoftheWorkBreakdownStructure(WBS)shouldidentifythemajorphasesandmilestonesoftheprojectinasummaryfashion.Inaddition,theuppersectionshouldprovideanoverviewofthefullscopeandtimelineoftheprojectandwillbepartoftheinitialprojectdescriptioneffortleadingtoprojectapproval.8.7BASELINESINTHESDLC:BaselinesareanimportantpartoftheSystemsDevelopmentLifeCycle(SDLC).ThesebaselinesareestablishedafterfourofthefivephasesoftheSDLCandarecriticaltotheiterativenatureofthemodel..EachbaselineisconsideredasamilestoneintheSDLC.FunctionalBaseline:establishedaftertheconceptualdesignphase.AllocatedBaseline:establishedafterthepreliminarydesignphase.ProductBaseline:establishedafterthedetaildesignanddevelopmentphase.UpdatedProductBaseline:establishedaftertheproductionconstructionphase.8.8SYSTEMFLOWCHART:Asystemflowchartexplainshowasystemworksusingadiagram.Thediagramshowstheflowofdatathroughasystem.8.8.1SymbolsfortodrawFlowchart:
image/svg+xml112Thesymbolsarelinkedwithdirectedlines(lineswitharrows)showingtheflowofdatathroughthesystem.8.8.2Anexampleofasystemflowchartisshownbelow:Transactionsareinput,validatedandsortedandthenusedtoupdateamasterfile.Note:Thearrowsshowtheflowofdatathroughthesystem.ThedottedlineshowsthattheUpdatedmasterfileisthenusedasinputforthenextUpdateprocess.Aflowchartisatypeofdiagram,thatrepresentsanalgorithmorprocess,showingthestepsasboxesofvariouskinds,andtheirorderbyconnectingthesewitharrows.Thisdiagrammaticrepresentationcangiveastep-by-stepsolutiontoagivenproblem.Dataisrepresentedintheseboxes,andarrowsconnectingthemrepresentflow/directionofflowofdata.Flowchartsareusedinanalyzing,designing,documentingormanagingaprocessorprograminvariousfields.
image/svg+xml113Example:8.8.3FlowchartSymbols:Atypicalflowchartfromoldertocomputersciencetextbooksmayhavethefollowingkindsofsymbols:StartandendsymbolsRepresentedascircles,ovalsorroundedrectangles,usuallycontainingtheword"Start"or"End",oranotherphrasesignallingthestartorendofaprocess,suchas"submitenquiry"or"receiveproduct".ArrowsShowingwhat'scalled"flowofcontrol"incomputerscience.Anarrowcomingfromonesymbolandendingatanothersymbolrepresentsthatcontrolpassestothesymbolthearrowpointsto.ProcessingstepsRepresentedasrectangles.Examples:"Add1toX";"replaceidentifiedpart";"savechanges"orsimilar.Input/OutputRepresentedasaparallelogram.Examples:GetXfromtheuser;displayX.8.9STRUCTURE CHART:AStructureChart(SC)insoftwareengineeringandorganizationaltheoryisachart,whichshowsthebreakdownoftheconfigurationsystemtothelowestmanageablelevels.
image/svg+xml114Thischartisusedinstructuredprogrammingtoarrangetheprogrammodulesinatreestructure.Eachmoduleisrepresentedbyabox,whichcontainsthemodule'sname.Thetreestructurevisualizestherelationshipsbetweenthemodules.Overview:Astructurechartisatop-downmodulardesigntool,constructedofsquaresrepresentingthedifferentmodulesinthesystem,andlinesthatconnectthem.Thelinesrepresenttheconnectionandorownershipbetweenactivitiesandsubactivitiesastheyareusedinorganizationcharts.Instructuredanalysisstructurecharts,accordingtoWolber(2009),"areusedtospecifythehigh-leveldesign,orarchitecture,ofacomputerprogram.Asadesigntool,theyaidtheprogrammerindividingandconqueringalargesoftwareproblem,thatis,recursivelybreakingaproblemdownintopartsthataresmallenoughtobeunderstoodbyahumanbrain.Theprocessiscalledtop-downdesign,orfunctionaldecomposition.Programmersuseastructurecharttobuildaprograminamannersimilartohowanarchitectusesablueprinttobuildahouse.Inthedesignstage,thechartisdrawnandusedasawayfortheclientandthevarioussoftwaredesignerstocommunicate.Duringtheactualbuildingoftheprogram(implementation),thechartiscontinuallyreferredtoasthemaster-plan".Astructurechartisalsousedtodiagramassociatedelementsthatcomprisearunstreamorthread.Itisoftendevelopedasahierarchicaldiagram,butotherrepresentationsareallowable.Therepresentationmustdescribethebreakdownoftheconfigurationsystemintosubsystemsandthelowestmanageablelevel.Anaccurateandcompletestructurechartisthekeytothedeterminationoftheconfigurationitems,andavisualrepresentationoftheconfigurationsystemandtheinternalinterfacesamongitsCIs.Duringtheconfigurationcontrolprocess,thestructurechartisusedtoidentifyCIsandtheirassociatedartifactsthataproposedchangemayimpact.8.9.1ApplicationsofStructureChart:UseaStructureCharttoillustratethehighleveloverviewofsoftwarestructure.StructureChartsdonotshowmoduleinternals.Useamethod,suchasPseudocodeorStructuredEnglish,toshowthedetailedinternalsofmodules.Followingarefewadvantagepoints:-RepresentingSequence,Repetition,andConditiononaStructureChart
image/svg+xml115-ModulesonaStructureChart-InterrelationshipsamongModules-InformationTransfers-ReducingClutteronaStructureChart.8.9.2Example:TheexampleStructureChartillustratesthestructureofthemodulestoprocessacustomerorder.8.10TRANSACTIONALANALYSIS:TransactionalAnalysisisatheorydevelopedbyDr.EricBerneinthe1950s.Transactionalanalysis,commonlyknownasTAtoitsadherents,isanintegrativeapproachtothetheoryof psychologyandpsychotherapy.Transactionalanalysiscanserveasasophisticated,elegant,andeffectivesystemonwhichtobasethepractical
image/svg+xml116activitiesofprofessionalsinpsychotherapy,counselling,education,andorganizationalconsultation.Itisasophisticatedtheoryofpersonality,motivation,andproblemsolvingthatcanbeofgreatusetopsychotherapists,counsellors,educators,andbusinessconsultants.Transactionalanalysiscanbedividedintofivetheoreticalandpracticalconceptualclusters.Thesefiveclustersenjoyvaryingdegreesofrecognitionwithinthebehaviouralsciences.Theyarelistedbelowalongwith(betweenquotes)conceptsthatparalleltheminthebehaviouralsciences.1.TheStrokesCluster.Thisclusterfindscorrelatesinexistingtheoriesof"attachment,""intimacy,""warmth,""tenderlovingcare,""needtobelong,""contact,""closeness,""relationships,""socialsupport,"and"love."2.TheOKCluster.Thisclusterfindscorrelatesinexistingtheoriesof"positivepsychology,""flow,""humanpotential," "resiliency,""excellence,""optimism,""subjectivewell-being,""positiveself-concept,""spontaneoushealing,""nature'shelpinghand,""vismedicatrixnaturae"(thehealingpowerofnature),and"thehealingpowerofthemind."3.TheScriptandGamesCluster.Thisclusterfindscorrelatesinexistingtheoriesof"narratives,""maladaptiveschemas,""self-narratives,""storyschemas,""storygrammars,""personalmyths,""personaleventmemories,""self-definingmemories,""nuclearscenes,""genderednarratives,""narrativecoherence,""narrativecomplexity,""coreself-beliefs,"and"self-concept."4.TheEgoStatesandTransactionsCluster.Theideaofthreeegosstatesandthetransactionalinteractionsbetweenthemarethemostdistinctivefeatureoftransactionalanalysisandyethavetheleastamountofresonanceintheliterature.However,theutilityofthisconceptistheprincipalreasonwhypeoplebecomeinterestedandmaintaintheirinterestintransactionalanalysis.5.TheTransactionalAnalysisTheoryofChangeCluster.Transactionalanalysisisessentiallyacognitive-behaviouraltheoryofpersonalityandchangethatneverthelessretainsaninterestinthepsychodynamicaspectofthepersonality.TransactionalAnalysisisacontractualapproach.Acontractis"anexplicitbilateralcommitmenttoawell-definedcourseofaction"BerneE.(1966).Thismeansthatallpartiesneedtoagree:
image/svg+xml117!whytheywanttodosomething!withwhom!whattheyaregoingtodo!bywhen!Anyfees,paymentorexchangestherewillbe..Thefactthatthesedifferentstatesexististakenasbeingresponsibleforthepositiveornegativeoutcomestoconversations.Berneshowedthetransactionalstimulusandresponsethroughtheuseofasimplediagramshowingparent(P),adult(A),childand(C),egostatesandthetransactionallinksbetweenthem.PPAACC8.10.1ThethreeegostatespresentedbyBerneare:ParentTheparentegostateischaracterizedbytheneedtoestablishstandards,directothers,instillvaluesandcriticize.Therearetworecognizedsub-groupsofthisegostate,beingcontrollingparentswhoshowsignsofbeingauthoritarian,controllingandnegative,andnurturingparentswhotendtobepositiveandsupportive,butwhocanbecomesuffocating.AdultTheadultegostateischaracterizedbytheabilitytoactinadetachedandrationalmanner,logicallyasadecisionmakerutilizinginformationtoitsmaximum.ThearchetypalexampleofthisegostatemightbeMrSpock!ChildThechildegostateischaracterizedbyagreaterdemonstrationofemotion,eitherpositiveornegative.Onceagain,aswiththeparent,therearesub-groupsofthisegostate,inthiscasethree.Thefirstisthenaturalchildstate,withuninhibitedactions,whichmightincludeenergyandrawenthusiasm,tocuriosityandfear.Itisessentiallyself-centred.Theadaptedchildstateisastatewhereemotionsarestillstrong,butthereissomeattempttocontrol,endingincompliantorwithdrawnbehaviours.Finally,the'little professor'isachildegostatethatshowsemergingadulttraits,andagreaterabilitytoconstrainemotions.Transactionscanbebrief,caninvolvenoverbalcontentatall(lookingatsome-oneacrossaroom),orcanbelongandinvolved.However,Bernebelievedthattherewerefourbasictypesoftransaction:
image/svg+xml1188.10.2Thefourbasictypesoftransaction:ComplementaryAtransactionwheretheegostatescomplementeachother,resultinginapositiveexchange.Thismightincludetwoteachersdiscussingsomeassessmentdatainordertosolveaproblemwheretheyarebothinhabitingtheadultegostate.DuplexThisisatransactionthatcanappearsimple,butentailstwolevelsofcommunication,oneoftenimplicit.Atasociallevel,thetransactionmightbeadulttoadult,butatapsychologicallevelitmightbechildtochildasahiddencompetitivecommunication.AngularHere,thestimulationappearstobeaimedatoneegostate,butcovertlyisactuallyaimedatanother,suchastheuseofsarcasm.Thismaythenleadtoadifferentegostateresponsefromthatwhichmightbeexpected.CrossedHere,theparentactsasacontrollingparent,butinaimingthestimulusatthechildegostate,aresponsefromtheadultegostate,althoughperhapsperfectlyreasonablebutunexpected,bringsconflict.Asaresult,wheretherearecrossedtransactions,thereisahighpossibilityofanegativedevelopmenttoaconversation,oftenresultinginconfrontationorbadfeeling?8.10.3Example:TransactionalAnalysisintheclassroom:Withinanyclassroomthereisaconstantdynamictransactionalprocessdeveloping.Howthisisman-agedcanhaveimportantramificationsforbothshortandlongtermrelationshipsbetweenstaffandstudents.Ifwetakeasastartingpointthemoretraditionalstyleofrelationshipbetweenteacherandstudent,thiswilloftenoccurasaparentalstimulusdirectedatachild,expectingachildreaction.Hence,thistranslatestoasimpletransactionsuchasthatbelow(shownbythesolidlines).However,asallteachersknow,studentsatsecondarylevelarebeginningtore-establishtheirboundariesaspeopleandarebecomingincreasinglyindependent.Asaresult,itisincreasinglylikelythatasthechildrenbecomeolder,aparentalstimulusdirectedatachildegostatewillresultinanadulttoadultresponse.
image/svg+xml119Eventhoughtheresponseisperfectlyreasonable,andindeedwouldbesoughtinmostcircumstances,inthiscaseitleadstoacrossedtransactionandthepotentialforanegativeconversation.8.11SUMMARYThischapterisbasedonSystemdesignandtheirdifferentdesignmodelslikeflowchart,UMLdiagram,structurechart,activitydiagram.Thesediagramhelpstorepresentflowandworkingofdata.
image/svg+xmlSOFTWARE DESIGNANDDOCUMENTATIONTOOLS9.1INTRODUCTION:Softwaredocumentationorsourcecodedocumentationiswrittentextthataccompaniescomputersoftware.Iteitherexplainshowitoperatesorhowtouseit, andmaymeandifferentthingstopeopleindifferentroles.9.2 PEOPLEANDSOFTWARE:Documentationisanimportantpartofsoftwareengineering.Typesofdocumentationinclude:1.Requirements-Statementsthatidentifyattributecapabilities,characteristics,orqualitiesofasystem.Thisisthefoundationforwhatshallbeorhasbeenimplemented.2.Architecture/Design-Overviewofsoftware.Includesrelationstoanenvironmentandconstructionprinciplestobeusedindesignofsoftwarecomponents.3.Technical-Documentationofcode,algorithms,interfaces,andAPIs.4.EndUser-Manualsfortheend-user,systemadministratorsandsupport staff.
image/svg+xml1215.Marketing-Howtomarkettheproductandanalysisofthemarketdemand.9.3REQUIREMENTSDOCUMENTATION:Requirementsdocumentationisthedescriptionofwhatparticularsoftwaredoesorshalldo.Itisusedthroughoutdevelopmenttocommunicatewhatthesoftwaredoesorshalldo.Itisalsousedasanagreementorasthefoundationforagreementonwhatthesoftwareshalldo.Requirementsareproducedandconsumedbyeveryoneinvolvedintheproductionofsoftware:endusers,customers,productmanagers,projectanagers,sales,marketing,softwarearchitects, usabilityexperts,interactiondesigners,developers,andtesters,tonameafew.Thus,requirementsdocumentationhasmanydifferentpurposes.Theneedforrequirementsdocumentationistypicallyrelatedtothecomplexityoftheproduct,theimpactoftheproduct,andthelifeexpectancyofthesoftware.Ifthesoftwareisverycomplexordevelopedbymanypeople(e.g.,mobilephonesoftware),requirementscanhelptobettercommunicatewhattoachieve.Ifthesoftwareissafety-criticalandcanhavenegativeimpactonhumanlife(e.g.,nuclearpowersystems,medicalequipment),moreformalrequirementsdocumentationisoftenrequired.Ifthesoftwareisexpectedtoliveforonlyamonthortwo(e.g.,verysmallmobilephoneapplicationsdevelopedspecificallyforacertaincampaign)verylittlerequirementsdocumentationmaybeneeded.Ifthesoftwareisafirstreleasethatislaterbuiltupon,requirementsdocumentationisveryhelpfulwhenmanagingthechangeofthesoftwareandverifyingthatnothinghasbeenbrokeninthesoftwarewhenit ismodified.9.4 ARCHITECTURE/DESIGNDOCUMENTATION:Architecturedocumentationisaspecialbreedofdesigndocument.Inaway,architecturedocumentsarethirdderivativefromthecode(designdocumentbeingsecondderivative,andcodedocumentsbeingfirst).Verylittleinthearchitecturedocumentsisspecifictothecodeitself.Thesedocumentsdonotdescribehowtoprogramaparticularroutine,orevenwhythatparticularroutineexistsintheformthatitdoes,butinsteadmerelylaysoutthegeneralrequirementsthatwouldmotivatetheexistenceofsucharoutine.Agoodarchitecturedocumentisshortondetailsbutthickonexplanation.Itmaysuggestapproachesforlowerleveldesign,butleavetheactualexplorationtradestudiestootherdocuments.
image/svg+xml122AveryimportantpartofthedesigndocumentinenterprisesoftwaredevelopmentistheDatabaseDesignDocument(DDD).ItcontainsConceptual,Logical,andPhysicalDesignElements.TheDDDincludestheformalinformationthatthepeoplewhointeractwiththedatabaseneed.Thepurposeofpreparingitistocreateacommonsourcetobeusedbyallplayerswithinthescene.Thepotentialusersare:DatabaseDesignerDatabaseDeveloperDatabaseAdministratorApplicationDesignerApplicationDeveloperWhentalkingaboutRelationalDatabaseSystems,thedocumentshouldincludefollowingparts:!Entity-RelationshipSchema,includingfollowinginformationandtheir cleardefinitions:!EntitySetsandtheirattributes!Relationshipsandtheirattributes!Candidatekeysforeachentityset!AttributeandTuplebasedconstraints!RelationalSchema,includingfollowinginformation:!Tables,Attributes,andtheirproperties!Views!Constraintssuchasprimarykeys,foreignkeys,!Cardinalityofreferentialconstraints!CascadingPolicyforreferentialconstraints!PrimarykeysItisveryimportanttoincludeallinformationthatistobeusedbyallactorsinthescene.Itisalsoveryimportanttoupdatethedocumentsasanychangeoccursinthedatabaseaswell.9.5TECHNICALDOCUMENTATION:Thisiswhatmostprogrammersmeanwhenusingthetermsoftwaredocumentation.Whencreatingsoftware,codealoneisinsufficient.Theremustbesometextalongwithittodescribevariousaspectsofitsintendedoperation.Itisimportantforthecodedocumentstobethorough,butnotsoverbosethatitbecomesdifficulttomaintainthem.SeveralHow-toandoverviewdocumentationarefoundspecifictothesoftwareapplicationor
image/svg+xml123softwareproductbeingdocumentedbyAPIWriters.Thisdocumentationmaybeusedbydevelopers,testersandalsotheendcustomersorclientsusingthissoftwareapplication.Manyprogrammersreallyliketheideaofauto-generatingdocumentationforvariousreasons.Forexample,becauseitisextractedfromthesourcecodeitself(forexample,throughcomments),theprogrammercanwriteitwhilereferringtothecode,andusethesametoolsusedtocreatethesourcecodetomakethedocumentation.Thismakesitmucheasiertokeepthedocumentationup-to-date.9.6USERDOCUMENTATION:Unlikecodedocuments,userdocumentsareusuallyfarmorediversewithrespecttothesourcecodeoftheprogram,andinsteadsimplydescribehowit isused.Inthecaseofasoftwarelibrary,thecodedocumentsanduserdocumentscouldbeeffectivelyequivalentandareworthconjoining,butforageneralapplicationthisisnotoftentrue.Ontheotherhand,theLispmachinegrewoutofatraditioninwhicheverypieceofcodehadanattacheddocumentationstring.Incombinationwithstrongsearchcapabilities(basedonaUnix-likeaproposcommand),andonlinesources,LispuserscouldlookupdocumentationpreparedbytheseAPIWritersandpastetheassociatedfunctiondirectlyintotheirowncode.Thislevelofeaseofuseisunheardofinputativelymoremodernsystems.Typically,theuserdocumentationdescribeseachfeatureoftheprogram,andassiststheuserinrealizingthesefeatures.Agooduserdocumentcanalsogosofarastoprovidethoroughtroubleshootingassistance.Itisveryimportantforuserdocumentstonotbeconfusing,andforthemtobeuptodate.Userdocumentsneednotbeorganizedinanyparticularway,butitisveryimportantforthemtohaveathoroughindex.Consistencyandsimplicityarealsoveryvaluable.Userdocumentationisconsideredtoconstituteacontractspecifyingwhatthesoftwarewilldo.APIWritersareverywellaccomplishedtowardswritinggooduserdocumentsastheywouldbewellawareofthesoftwarearchitectureandprogrammingtechniquesused.SeealsoTechnicalWriting.Therearethreebroadwaysinwhichuserdocumentationcanbeorganized:1.Tutorial:Atutorialapproachisconsideredthemostusefulforanewuser,inwhichtheyareguidedthrougheachstepofaccomplishingparticulartasks.
image/svg+xml1242.Thematic:Athematicapproach,wherechaptersorsectionsconcentrateononeparticularareaofinterest,isofmoregeneralusetoanintermediateuser.Someauthorsprefertoconveytheirideasthroughaknowledgebasedarticletofacilitatingtheuserneeds.Thisapproachisusuallypracticedbyadynamicindustry,suchasInformationtechnology,wheretheuserpopulationislargelycorrelatedwiththetroubleshootingdemands.3.ListorReference:Thefinaltypeoforganizingprincipleisoneinwhichcommandsortasksaresimplylistedalphabeticallyorlogicallygrouped,oftenviacross-referencedindexes.Thislatterapproachisofgreaterusetoadvanceduserswhoknowexactlywhatsortofinformationtheyarelookingfor.9.7MARKETINGDOCUMENTATION:Formanyapplicationsitisnecessarytohavesomepromotionalmaterialstoencouragecasualobserverstospendmoretimelearningabouttheproduct.Thisformofdocumentationhasthreepurposes:-1.Toexcitethepotentialuserabouttheproductandinstillinthemadesireforbecomingmoreinvolvedwithit.2.Toinformthemaboutwhatexactlytheproductdoes,sothattheirexpectationsareinlinewithwhattheywillbereceiving.3.Toexplainthepositionofthisproductwithrespecttootheralternatives.4.Tocompletelyshroudthefunctionoftheproductinmystery.9.8 HIPOCHART:HIPOforhierarchicalinputprocessoutputisa"popular1970ssystemsanalysisdesignaidanddocumentationtechniqueforrepresentingthemodulesofasystemasahierarchyandfordocumentingeachmodule.Itwasusedtodeveloprequirements,constructthedesign,andsupportimplementationofanexpertsystemtodemonstrateautomatedrendezvous.Verificationwasthenconductedsystematicallybecauseofthemethodofdesignandimplementation.TheoveralldesignofthesystemisdocumentedusingHIPOchartsorstructurecharts.Thestructurechartissimilarinappearancetoanorganizationalchart,buthasbeenmodifiedto
image/svg+xml125showadditionaldetail.Structurechartscanbeusedtodisplayseveraltypesofinformation,butareusedmostcommonlytodiagrameitherdatastructuresorcodestructures.WhyweuseHIPOchart?TheHIPO(HierarchyplusInput-Process-Output)techniqueisatoolforplanningand/ordocumentingacomputerprogram.AHIPOmodelconsistsofahierarchychartthatgraphicallyrepresentstheprogram’scontrolstructureandasetofIPO(Input-Process-Output)chartsthatdescribetheinputsto,theoutputsfrom,andthefunctions(orprocesses)performedbyeachmoduleonthehierarchychart.AdvantagesofHIPOChart:UsingtheHIPOtechnique,designerscanevaluateandrefineaprogram’sdesign,andcorrectflawspriortoimplementation.GiventhegraphicnatureofHIPO,usersandmanagerscaneasilyfollowaprogram’sstructure.Thehierarchychartservesasausefulplanningandvisualizationdocumentformanagingtheprogramdevelopmentprocess.TheIPOchartsdefinefortheprogrammereachmodule’sinputs,outputs,andalgorithms.Limitation ofHIPOChart:-HIPOprovidesvaluablelong-termdocumentation.However,the“textplusflowchart”natureoftheIPOchartsmakesthemdifficulttomaintain,sothedocumentationoftendoesnotrepresentthecurrentstateoftheprogram.-Byitsverynature,theHIPOtechniqueisbestusedtoplanand/ordocumentahierarchicallystructuredprogram.Example:SetofTaskstoBePerformedbyanInteractiveInventoryProgram:-1.0Manageinventory2.0Updatestock2.1Processsale2.2Processreturn2.3Processshipment3.0Generatereport3.1Respondtoquery3.2Displaystatusreport4.0Maintaininventorydata4.1Modifyrecord4.2Addrecord4.3Deleterecord
image/svg+xml126Diagrammaticallypresentation:Ahierarchychartforaninteractiveinventorycontrolprogram.9.9WARNIER-ORRDIAGRAM:AWarnier/Orrdiagram(alsoknownasalogicalconstructionofaprogram/system)isakindofhierarchicalflowchartthatallowthedescriptionoftheorganizationofdataandprocedures.Warnier/Orrdiagramsshowtheprocessesandsequencesinwhichtheyareperformed.Eachprocessisdefinedinahierarchicalmanneri.e.itconsistsofsetsofsubprocesses,thatdefineit.Ateachlevel,theprocessisshowninbracketthatgroupsitscomponents.Sinceaprocesscanhavemanydifferentsubprocesses,Warnier/Orrdiagramusesasetofbracketstoshoweachlevelofthesystem.Criticalfactorsins/wdefinitionanddevelopmentareiterationorrepetitionandalteration.Warnier/Orrdiagramsshowthisverywell.TodevelopaWarnier/Orrdiagram,theanalystworksbackwards,startingwithsystemsoutputandusingoutputoriented
image/svg+xml127analysis.Onpaper,thedevelopmentmovesfromrighttoleft.First,theintendedoutputorresultsoftheprocessingaredefined.Atthenextlevel,shownbyinclusionwithabracket,thestepsneededtoproducetheoutputaredefined.Eachstepinturnisfurtherdefined.Additionalbracketsgrouptheprocessesrequiredtoproducetheresultonthenextlevel.ConstructtheWarnier-orrdiagram:TherearefourbasicconstructsusedonWarnier/Orrdiagrams:hierarchy,sequence,repetition,andalternation.Therearealsotwoslightlymoreadvancedconceptsthatareoccasionallyneeded:concurrencyandrecursion.HierarchyHierarchyisthemostfundamentalofalloftheWarnier/Orrconstructs.Itissimplyanestedgroupofsetsandsubsetsshownasasetofnestedbrackets.Eachbracketonthediagram(dependingonhowyourepresentit,thecharacterisusuallymorelikeabrace"{"thanabracket"[",butwecallthem"brackets")representsonelevelofhierarchy.Thehierarchyorstructurethatisrepresentedonthediagramcanshowtheorganizationofdataorprocessing.However,bothdataandprocessingarenevershownonthesamediagram.SequenceSequenceisthesimpleststructuretoshowonaWarnier/Orrdiagram.Withinonelevelofhierarchy,thefeatureslistedareshownintheorderinwhichtheyoccur.Inotherwords,ontheFig.6thesteplistedfirstisthefirstthatwillbeexecuted(ifthediagramreflectsaprocess),whilethesteplistedlastisthelastthatwillbeexecuted.Similarlywithdata,thedatafieldlistedfirstisthefirstthatisencounteredwhenlookingatthedata,thedatafieldlistedlastisthefinaloneencountered.RepetitionRepetitionistherepresentationofaclassic"loop"inprogrammingterms.Itoccurswheneverthesamesetofdataoccursoverandoveragain(foradatastructure)orwheneverthesamegroupofactionsistooccuroverandoveragain(foraprocessingstructure).lternationAlternation,orselection,isthetraditional"decision"processwherebyadeterminationismadetoexecuteoneprocessoranother.Itisindicatedasarelationshipbetweentwosubsets.ConcurrencyConcurrencyisoneofthetwoadvancedconstructsusedinthemethodology.Itis usedwheneversequenceisunimportant.
image/svg+xml128RecursionRecursionistheleastusedoftheconstructs.Itisusedtoindicatethatasetcontainsanearlieroralessorderedversionofitself.Example:Warnier-orrdiagramforDataStructure.
image/svg+xml129Example:WarnierOrrdiagramforPayrollcycle.Example:AWarnier/Orrdiagramisastyleofdiagramwhichisextremelyusefulfordescribingcomplexprocesses(e.g.computerprograms,businessprocesses,instructions)andobjects(e.g.datastructures,documents,partsexplosions).Warnier/Orrdiagramsareelegant,easytounderstandandeasytocreate.WhenyouinterpretoneofB-liner'sdiagramsasaWarnier/Orrdiagram,yougiveasimple,yetformalmeaningtotheelementsofthediagram.ThefollowingisaquickdescriptionofthemainelementsofaWarnier/Orrdiagram.Bracket:Abracketenclosesalevelofdecompositioninadiagram.Itrevealswhatsomething"consistsof"atthenextlevelofdetail.Sequence:Thesequenceofeventsisdefinedbythetop-to-bottomorderinadiagram.Thatis,aneventoccursaftereverythingaboveitinadiagram,butbeforeanythingbelowit.OR:Yourepresentchoiceinadiagrambyplacingan"OR"operatorbetweentheitemsofachoice.The"OR"operatorlookseitherlikeor.AND:Yourepresentconcurrencyinadiagrambyplacingan"AND"operatorbetweentheconcurrentactions.The"AND"operatorlookseitherlikeor.
image/svg+xml130Repetition:Toshowthatanactionrepeats(loops),yousimplyputthenumberofrepetitionsoftheactioninparenthesesbelowtheaction.Thediagrambelowillustratestheuseoftheseconstructstodescribeasimpleprocess.Youcouldreadtheabovediagramlikethis:"Welcomingaguesttoyourhome(from1tomanytimes)consistsofgreetingtheguestandtakingtheguest'scoatatthesametime,thenshowingtheguestin.Greetingaguestconsistsofsaying"Goodmorning"ifit's morning,orsaying"Goodafternoon"ifit's afternoon,orsaying"Goodevening"ifit'sevening.Takingtheguest'scoatconsistsofhelpingtheguestremovetheircoat,thenhangingthecoatup."Asyoucansee,thediagramismucheasiertounderstandthanthedescription.
image/svg+xml1319.10SUMMARYThischapteruseddifferentsoftwaretoolstofindoutworkingstyle,processflow,datadeterminationwiththehelpofsomelatesttools.Questions:1.ExplainRequirementsdocumentationindetail?Ans:Refer9.32.ExplainArchitecture/Designdocumentationindetail?Ans:refer9.43.ExplainTechnicaldocumentationindetail?Ans:refer9.54.ExplainHipochart?Ans:refer9.8
image/svg+xmlDESIGNINGINPUT,OUTPUT&USERINTERFACE10.1INTRODUCTION:Outputiswhatthecustomerisbuyingwhenheorshepayforadevelopmentofproject.Inputs,databases,andprocessesarepresenttoprovideoutput.Adatainputspecificationisadetaileddescriptionoftheindividualfields(dataelements)onaninputdocumenttogetherwiththeircharacteristics.InthischapterwewilllearnaboutInputdesign,OutputdesignandUserInterface.10.2 OUTPUTDESIGN:Outputisthemostimportanttaskofanysystem.Theseguidelinesapplyforthemostparttobothpaperandscreenoutputs.Outputdesignisoftendiscussedbeforeotherfeatureofdesignbecause,fromthecustomer’spointofview,theoutputisthesystem.Outputiswhatthecustomerisbuyingwhenheorshepayforadevelopmentofproject.Inputs,databases,andprocessesarepresenttoprovideoutput.Problemsoftenassociatedwithbusinessinformationoutputareinformationhold-up,information(data)overload,paperdomination,extremedistribution,andnotailoring.Forexample:Mainframeprinters:highvolume,highspeed,locatedinthedatacentreRemotesiteprinters:mediumspeed,closetoenduser.
image/svg+xml133COMisComputerOutputMicrofilm.Itismorecompressedthantraditionaloutputandmaybeproducedasfastasnon-impactprinteroutput.!Turnarounddocumentstrimdownthecostofinternalinformationprocessingbyreducingbothdataentryandassociatederrors.!Periodicreportshavesetfrequenciessuchasdailyorweekly;adhocreportsareproducedatirregularintervals.!Detailandsummaryreportsdifferintheformersupportday-to-dayoperationofthebusinesswhilethelatterincludestatisticsandratiosusedbymanagerstoconsiderthehealthofoperations.!Pagebreaksandcontrolbreaksallowforabstracttotalsonkeyfields.Reportrequirementsdocumentsincludegeneralreportinformationandfieldspecifications;printlayoutsheetspresentapictureofwhatthereportwillactuallylooklike.!Pagedecouplingistheseparationofpagesintocohesivegroups.Twowaystocreateoutputforstrategicpurposesare(1)Makeitcompatiblewithprocessesoutsidetheimmediatescopeofthesystem(2)Turnactiondocumentsintoturnarounddocuments.Peopleoftenreceivereportstheydonotrequirebecausethenumberofreportsreceivedisperceivedasameasureofpower.Fieldsonareportshouldbeselectedcarefullytoprovideorganizedreports,facilitate80-columnremoteprinting,andreduceinformation(data)overload.Thetypesoffieldswhichshouldbeconsideredforbusinessoutputare:keyfieldsforaccesstoinformation,fieldsforcontrolbreaks,fieldsthatchange,andexceptionfields.Outputmaybedesignedtoaidfuturechangebystressingformlessreports,definingfieldsizeforfuturegrowth,makingfieldconstantsintovariables,andleavingroomonreviewreportsforaddedratiosandstatistics.Outputcannowbemoreeasilytailoredtotheneedsofindividualusersbecauseinquiry-basedsystemsallowusersthemselvestogenerateadhocreports.Anoutputintermediarycanrestrictaccesstokeyinformationandavoidillegalaccess.Aninformationclearinghouse(orinformationcentre)isaservicecentre
image/svg+xml134thatprovidesconsultation,assistance,anddocumentationtoencourageend-userdevelopmentanduseofapplications.Thespecificationsessentialtodescribetheoutputofasystemare:dataflowdiagrams,dataflowspecifications,datastructurespecifications,anddataelementspecifications.!Output Documents!Printed Reports!ExternalReports:foruseordistributionoutsidetheorganization;oftenonpre-printedforms.!InternalReports:forusewithintheorganization;notas"pretty",stockpaper,greenbar,etc.!PeriodicReports:producedwithasetfrequency(daily,weekly,monthly,everyfifthTuesday,etc.)!Ad-Hoc(OnDemand)Reports:unbalancedinterval;produceduponuserdemand.!DetailReports:oneline pertransaction.ReviewReports:anoverview.!ExceptionReports:onlyshowserrors,problems,out-of-rangevalues,orunexpectedconditionsorevents.10.3INPUTDESIGNAsourcedocumentdiffersfromaturnarounddocumentinthattheformerholdsdatathatrevolutionizethestatusofaresourcewhilethelatterisamachinereadabledocument.Transactionthroughputisthenumberoferror-freetransactionsenteredduringaspecifiedtimeperiod.Adocumentshouldbeconcisebecauselongerdocumentscontainmoredataandsotakelongertoenterandhaveagreaterchanceofdataentryerrors.Numericcodingsubstitutesnumbersforcharacterdata(e.g.,1=male,2=female);mnemoniccodingrepresentsdatainaformthatiseasierfortheusertounderstandandremember.(e.g.,M=male,F=female).Themorequicklyanerrorisdetected,thenearertheerroristothepersonwhogenerateditandsotheerrorismoreeasilycorrected.Anexampleofanillogicalcombinationinapayrollsystemwouldbeanoptiontoeliminatefederaltaxwithholding.By"multiplelevels"ofmessages,Imeanallowingtheusertoobtainmoredetailedexplanationsofanerrorbyusingahelpoption,butnotforcingalong-lastingmessageonauserwhodoes
image/svg+xml135fields:dataentryoperatoridentification,transactionentrydate,transactionentrytime,transactiontype,transactionimage,fieldsinerror,errorcodes,datetransactionre-enteredsuccessfully.!Adatainputspecificationisadetaileddescriptionoftheindividualfields(dataelements)onaninputdocumenttogetherwiththeircharacteristics(i.e.,typeandlength).!Bespecificandprecise,notgeneral,ambiguous,orvague.(BAD:Syntaxerror,Invalidentry,GeneralFailure)!Don'tJUSTsaywhat'swrong----Beconstructive;proposewhatneedstobedonetocorrecttheerrorcondition.!Bepositive;Avoidcondemnation.Possiblyeventothepointofavoidingpejorativetermssuchas"invalid""illegal"or"bad."!Beuser-centricandattempttoconveytotheuserthatheorsheisincontrolbyreplacingimperativessuchas"Enterdate"withwordingsuchas"Readyfordate."!Considermultiplemessagelevels:theinitialordefaulterrormessagecanbebriefbutallowtheusersomemechanismtorequestadditionalinformation.!Consistencyinterminologyandwording.i.Placeerrormessagesinthesameplaceonthescreenii.Useconsistentdisplaycharacteristics(blinking,colour,beeping,etc.)10.4 USERINTERFACEi.Theprimarydifferencesbetweenaninteractiveandbatchenvironment are:!interactiveprocessingisdoneduringtheorganization'sprimeworkhours!interactivesystemsusuallyhavemultiple,simultaneoususers!theexperiencelevelofusersrunsfromnovicetohighlyexperienced!developersmustbegoodcommunicatorsbecauseoftheneedtodesignsystemswitherrormessages,helptext,andrequestsforuserresponses.ii.Thesevensteppaththatgradesthestructureofaninteractivesystemisa.Greetingscreen(e.g.,companylogo)
image/svg+xml136b.Passwordscreen--topreventunauthorizedusec.Mainmenu--allowchoiceofseveralavailableapplicationsd.Intermediatemenus--furtherdelineatechoiceoffunctionse.Functionscreens--updatingordeletingrecordsf.Helpscreens--howtoperformataskg.Escapeoptions--fromaparticularscreenortheapplicationiii.Anintermediatemenuandafunctionscreendifferinthattheformerprovideschoicesfromasetofrelatedoperationswhilethelatterprovidestheabilitytoperformtaskssuchasupdatesordeletes.iv.Thedifferencebetweeninquiryandcommandlanguagedialoguemodesisthattheformeraskstheusertoprovidearesponsetoasimplequestion(e.g.,"Doyoureallywanttodeletethisfile?")wherethelatterrequiresthattheuserknowwhatheorshewantstodonext(e.g.,MS-DOSC:>prompt;VAX/VMS$prompt;Unixshellprompt).GUIInterface(Windows,Macintosh)provideDialogBoxestopromptusertoinput required information/parameters.v.Directionsfordesigningform-fillingscreens:a)Fieldsonthescreenshouldbeinthesamesequenceasonthesourcedocument.b)Usecuingtoprovidetheuserwithinformationsuchasfieldformats(e.g.,dates)c)Providedefaultvalues.d)Editallenteredfieldsfortransactionerrors.e)Movethecursorautomaticallytothenextentryfieldf)Allowentrytobefree-form(e.g.,donotmaketheuserenterleadingzeroes)Considerhavingallentriesmadeatthesamepositiononthescreen.vi.Adefaultvalueisavalueautomaticallysuppliedbytheapplicationwhentheuserleavesafieldblank.Forexample,atSXUthescreenonwhichstudentnamesandaddressesareenteredhasadefaultvalueof"IL"forStatesincethemajorityofstudentshaveaddressesinIllinois.Atonetime"312"wasadefaultvalueforAreaCode,butwiththeadditionalAreaCodesnowinuse(312,773,708,630,847)providingadefaultvalueforthisfieldisnolongerasuseful.
image/svg+xml137vii.Theeightpartsofaninteractivescreenmenuare:0.Locator--whatapplicationtheuseriscurrentlyin1.MenuID--allowsthemoreexperienceduseraccesswithoutgoingthroughtheentiremenutree.2.Title3.Userinstructions4.Menulist5.Escapeoption6.Userresponsearea7.Systemmessages(e.g.,errormessages)viii.Highlightingshouldbeusedforgainingattentionandsoshouldbelimitedtocriticalinformation,unusualvalues,highprioritymessages,oritemsthatmustbechanged.ix.Potentialproblemsassociatedwiththeoveruseofcolorare:!Colorshavedifferentmeaningstodifferentpeopleandindifferentcultures.!Acertainpercentageofthepopulationisknowntohavecolorvision deficiency.!Somecolorcombinationsmaybedisruptive.x.Informationdensityisimportantbecausedensitythatistoohighmakesitmoredifficulttodiscerntheinformationpresentedonascreen,especiallyfornoviceusers.xi.Rulesfordefiningmessagecontentinclude:!Useactivevoice.!Useshort,simplesentences.!Useaffirmativestatements.!Avoidhyphenationandunnecessarypunctuation.!Separatetextparagraphswithatleastoneblankline.!Keepfield widthwithin40charactersforeasyreading.!Avoidwordcontractionsandabbreviations.!Usenonthreateninglanguage.!Avoidgodlikelanguage.!Donotpatronize.xii.Symmetryisimportanttoscreendesignbecauseitisaestheticallypleasingandthusmorecomforting.
image/svg+xml138xiii.Inputverificationisaskingtheusertoconfirmhisorhermostrecentinput(e.g.,"Areyousureyouwanttodeletethisfile?")xiv.Adaptivemodelsareusefulbecausetheyadapttotheuser'sexperiencelevelasheorshemovesfromnovicetoexperiencedovertimeasexperiencewiththesystemgrows.xv."WithinUser"sourcesofvariationinclude:warmup,fatigue,boredom,environmentalconditions,andextraneousevents.xvi.Theelementsoftheadaptivemodelare:!Triggeringquestiontodetermineuserexperiencelevel!Differentiation amonguserexperience!Alternativeprocessingpathsbasedonuserlevel!Transitionofcasualusertoexperiencedprocessingpath!Transitionofnoviceusertoexperiencedprocessingpath!Allowingtheusertomovetoaneasierprocessingpathxvii.Interactivetaskscanbedesignedforclosurebyprovidingtheuserwithfeedbackindicatingthatataskhasbeencompleted.xviii.Internallocusofcontrolismakingusersfeelthattheyareincontrolofthesystem,ratherthanthatthesystemisincontrolofthem.xix.Examplesofdistractinguseofsurpriseare:·Highlighting·Inputverification·Flashingmessages·Auditorymessagesxx.Losingtheinteractiveusercanbeavoidedbyusingshortmenupathsand"Youarehere"prompts.xxi.Somecommonusershortcutsare:directmenuaccess,functionkeys,andshortenedresponsetime.10.5GOLDENRULESOFINTERFACEDESIGN:1.Striveforconsistency.2.Enablefrequentuserstouseshortcuts.3.Offerinformativefeedback.4.Designdialogstoyieldclosure.5.Offererrorpreventionandsimpleerrorhandling.6.Permiteasyreversalofactions.
image/svg+xml1397.Supportinternallocusofcontrol.8.Reduceshort-termmemoryload.10.6SUMMARY:Inabovechapter,welearntheconceptofOutputDesign(Outputiswhatthecustomerisbuyingwhenheorshepayforadevelopmentofproject),InputDesign,UserInterfaceandrulesofInterfacedesign.Questions:1.ExplainGoldenrulesofInterfaceDesign?Ans:refer10.52.ExplainInputdesign,outputdesignanduserinterfaceindetail?Ans:refer10.2,10.3and10.4
image/svg+xmlSOFTWARETESTINGSTRATEGY11.1INTRODUCTION:Astrategyforsoftwaretestingmustaccommodatelow-levelteststhatarenecessarytoverifythatasmallsourcecodesegmenthasbeencorrectlyimplementedaswellashigh-levelteststhatvalidatemajorsystemfunctionsagainstcustomerrequirements.Astrategymustprovideguidanceforthepractitionerandasetofmilestonesforthemanager.Becausethestepsoftheteststrategyoccuratatimewhendead-linepressurebeginstorise,progressmustbemeasurableandproblemsmustsurfaceasearlyaspossible.11.2STRATEGICAPPROACHTOSOFTWARETESTINGTestingisasetofactivitiesthatcanbeplannedinadvanceandconductedsystematically.Forthisreasonatemplateforsoftwaretesting--asetofstepsintowhichwecanplacespecific
image/svg+xml141testcasedesigntechniquesandtestingmethods--shouldbedefinedforthesoftwareprocess.Anumberofsoftwaretestingstrategieshavebeenproposedintheliterature.Allprovidethesoftwaredeveloperwithatemplatefortestingandall havethefollowinggenericcharacteristics.Testingbeginsatthecomponentlevelandworks'outward'towardtheintegrationoftheentirecomputer-basedsystem,Differenttestingtechniquesareappropriateatdifferentpointsintime.Testingisconductedbythedeveloperofthesoftwareand(forlargeprojects)anindependenttestgroup.Testinganddebuggingaredifferentactivities,butdebuggingmustbeaccommodatedinanytestingstrategy,Astrategyforsoftwaretestingmustaccommodatelow-levelteststhatarenecessarytoverifythatasmallsourcecodesegmenthasbeencorrectlyimplementedaswellashigh-levelteststhatvalidatemajorsystemfunctionsagainstcustomerrequirements.Astrategymustprovideguidanceforthepractitionerandasetofmilestonesforthemanager.Becausethestepsoftheteststrategyoccuratatimewhendead-linepressurebeginstorise,progressmustbemeasurableandproblemsmustsurfaceasearlyaspossible.11.3ORGANIZINGFORSOFTWARETESTINGForeverysoftwareproject,thereisaninherentconflictofinterestthatoccursastestingbegins.Thepeoplewhohavebuiltthesoftwarearenowaskedtotestthesoftware.Thisseemsharmlessinitself;afterall,whoknowstheprogrambetterthanitsdevelopers?Unfortunately,thesesamedevelopershaveavestedinterestindemonstratingthattheprogramiserrorfree,thatitworksaccordingtocustomerrequirements,andthatitwillbecompletedonscheduleandwithinbudget.Eachoftheseinterestsmitigateagainstthoroughtesting.Fromapsychologicalpointofview,softwareanalysisanddesign(alongwithcoding)areconstructivetasks.Thesoftwareengineercreatesacomputerprogram,itsdocumentation,andrelateddatastructures.Likeanybuilder,thesoftwareengineerisproudoftheedificethathasbeenbuiltandlooksaskanceatanyonewhoattemptstotearit down.Whentestingcommences,thereisasubtle,yetdefinite,attemptto'break'thethingthatthesoftwareengineerhasbuilt.Fromthepointofviewofthebuilder,testingcanbeconsideredtobe(psychologically)destructive.
image/svg+xml142Thereareoftenanumberofmisconceptionsthatcanbeerroneouslyinferredfromtheprecedingdiscussion:Thatthedeveloperofsoftwareshoulddonotestingatall.Thatthesoftwareshouldbe‘tossedoverthewall’tostrangerswhowilltestitmercilessly,Thattestergetsinvolvedwiththeprojectonlywhenthetestingstepsareabouttobegin.Eachoftheseabovestatementsisincorrect.Thesoftwaredeveloperisalwaysresponsiblefortestingtheindividualunits(components)oftheprogram,ensuringthateachperformsthefunctionforwhichitwasdesigned.Inmanycases,thedeveloperalsoconductsintegrationtesting--atestingstepthatleadstotheconstruction(andtest)ofthecompleteprogramstructure.Onlyafterthesoftwarearchitectureiscompletedoesanindependenttestgroupbecomeinvolved.Theroleofanindependenttestgroup(ITG)istoremovetheinherentproblemsassociatedwithlettingthebuildertestthethingthathasbeenbuilt.Independenttestingremovestheconflictofinterestthatmayotherwisebepresent.Afterall,personnelintheindependentgroupteamarepaidtofinderrors.However,thesoftwareengineerdoesn’tturntheprogramovertoITGandwalkaway.ThedeveloperandtheITGworkcloselythroughoutasoftwareprojecttoensurethatthoroughtestswillbeconducted:Whiletestingisconducted,thedevelopermustbeavailabletocorrecterrorsthatareuncovered.TheITGispartofthesoftwaredevelopmentprojectteaminthesensethatitbecomesinvolvedduringthespecificationactivityandstaysinvolved(planningandspecifyingtestprocedures)throughoutalargeproject.However,inmanycasestheITGreportstothesoftwarequalityassuranceorganization,therebyachievingadegreeofindependencethatmightnotbepossibleifit wereapartofthesoftwareengineeringorganization.11.4 ASOFTWARETESTINGSTRATEGYThesoftwareengineeringprocessmaybeviewedasthespiralillustratedinfigurebelow.Initially,systemengineeringdefinestheroleofsoftwareandleadstosoftwarerequirementsanalysis.Wheretheinformationdomain,function,behaviour,performance,constraints.Andvalidationcriteriaforsoftwareareestablished.Movinginwardalongthespiralwecometodesignandfinallytocoding.Todevelopcomputersoftware,wespiralinward
image/svg+xml143alongstreamlinesthatdecreasethelevelofabstractiononeachturn.Astrategyforsoftwaretestingmayalsobeviewedinthecontextofthespiral(figureabove).Unittestingbeginsatthevortexofthespiralandconcentratesoneachunit(i.e,component)ofthesoftwareasimplementedinsourcecode.Testingprogressesbymovingoutwardalongthespiraltointegrationtesting,wherethefocusisondesignandtheconstructionofthesoftwarearchitecture.Takinganotherturnoutwardonthespiral,weencountervalidationtesting,whererequirementsestablishedaspartofsoftwarerequirementsanalysisarevalidatedagainstthesoftwarethathasbeenconstructed.Finally,wearriveatsystemtesting,wherethesoftwareandothersystemelementsaretestedasawhole.Totestcomputersoftware,wespiraloutalongstreamlinesthatbroadenthescopeoftestingwitheachturn.Initially,testsfocusoneachcomponentindividually,ensuringthatit functionsproperlyasaunit.Hence,thenameunittesting.Unittestingmakesheavyuseofwhite-boxtestingtechniques,exercisingspecificpathsinamodule'scontrolstructuretoensurecompletecoverageandmaximumerrordetection.Next,componentsmustbeassembledorintegratedtoformthecompletesoftwarepackage.Integrationtestingaddressestheissuesassociatedwiththedualproblemsofverificationandprogramconstruction.Black-boxtestcasedesigntechniquesarethemostprevalentduringintegration,althoughalimitedamountofwhite-boxtestingmaybeusedtoensurecoverageofmajorcontrolpaths.Afterthesoftwarehasbeenintegrated(constructed),asetofhigh-ordertestsareconductedValidationcriteria(establishedduringrequirementsanalysis)mustbetested.Validationtestingprovidesfinalassurancethatsoftwaremeetsallfunctional,behavioural,andperformancerequirement.Blackboxtestingtechniquesarcusedexclusivelyduringvalidation.Thelasthigh-ordertestingstepfallsoutsidetheboundaryofsoftwareengineeringandintothebroadercontextofcomputersystemengineering.Software,oncevalidated,mustbecombinedwithothersystemelements(e.g.,hardware,people,anddatabases).Systemtestingverifiesthatallelementsmeshproperlyandthatoverallsystemfunction/performanceisachieved.11.5 UNITTESTINGUnittestingfocusesverificationeffortonthesmallestunitofsoftwaredesign--thesoftwarecomponentormodule.Usingthecomponent-leveldesigndescriptionasaguide,importantcontrolpathsaretestedtouncovererrorswithintheboundaryofthemodule.Therelativecomplexityoftestsanduncoverederrorsis
image/svg+xml144limitedbytheconstrainedscopeestablishedforunittesting.Theunittestiswhite-boxoriented,andthestepcanbeconductedinparallelformultiplecomponents.11.6 INTEGRATIONTESTINGAneophyteinthesoftwareworldmightaskaseeminglylegitimatequestiononceallmoduleshavebeenunittested:"Iftheyallworkindividually,whydoyoudoubtthatthey'llworkwhenweputthemtogether?"Theproblem,orcourse,isputtingthemtogether--interfacing.Datacanbelostacrossaninterface;onemodulecanhaveaninadvertent,adverseaffectonanother;sub-functions,whencombined,maynotproducethedesiredmajorfunction;individuallyacceptableimprecisionmaybemagnifiedtounacceptablelevels;globaldatastructurescanpresentproblems.Sadly,thelistgoesonandon.Integrationtestingisasystematictechniqueforconstructingtheprogramstructurewhileatthesametimeconductingteststouncovererrorsassociatedwithinterfacing.Theobjectiveistotakeunittestedcomponentsandbuildaprogramstructurethathasbeendictatedbydesign.Thereisoftenatendencytoattemptnon-incrementalintegration;thatis,toconstructtheprogramusinga‘bigbang’approaches.Allcomponentsarecombinedinadvance.Theentireprogramistestedasawhole.Andchaosusuallyresults!Asetoferrorsisencountered.Correctionisdifficultbecauseisolationorcausesiscomplicatedbythevastexpanseoftheentireprogram.Oncetheseerrorsarecorrected,newonesappearandtheprocesscontinuesinaseeminglyendlessloop.Incrementalintegrationistheantithesisofthebigbangapproach.Theprogramisconstructedandtestedinsmallincrements,whereerrorsareeasiertoisolateandcorrect;interfacesaremorelikelytobetestedcompletely;andasystematictestapproachmaybeapplied.Inthesectionsthatfollow,anumberofdifferentincrementalintegrationstrategiesarediscussed.11.6.1TopdownIntegrationTopdownintegrationtestingisanincrementalapproachtoconstructionorprogramstructure.Modulesareintegratedbymovingdownwardthroughthecontrolhierarchybeginningwiththemaincontrolmodule(mainprogram).Modulessubordinate(andultimatelysubordinate)tothemaincontrolmoduleareincorporatedintothestructureineitheradepth-firstorbreadth-firstmanner.ReferringtoFigurebelowdepth-firstintegrationwouldintegrateallcomponentsonamajorcontrolpathofthestructure.Selectionofamajorpathissomewhatarbitraryanddependsonapplication-
image/svg+xml145specificcharacteristics.Forexample,selectingthelefthandpath,componentsM1M2andM5wouldbeintegratedfirst.Next,M8or(ifnecessaryproperfunctioningofM2)M6wouldbeintegrated.Then,thecentralandrighthandcontrolpathsarebuilt.Breadthfirstintegrationincorporatesallcomponentsdirectlysub-ordinateateachlevel,movingacrossthestructurehorizontally.M1M2M3M4M5M6M7M8Theintegrationprocessisperformedinaseriesoffivesteps:1.Themaincontrolmoduleisusedasatestdriverandstubsaresubstitutedforallcomponentsdirectlysub-ordinatetothemaincontrolmodule.2.Dependingontheintegrationapproachselected(i.e.,depthorbreadthfirst),sub-ordinatestubsarereplacedoneatatimewithactualcomponents.3.Testsareconductedaseachcomponentisintegrated.4.Oncompletionofeachsetoftests,anotherstubisreplacedwiththerealcomponents.5.Regressiontestingmaybeconductedtoensurethatnewerrorshavenotbeenintroduced.Theprocesscontinuesfromstep2untiltheentireprogramstructureisbuilt.Thetop-downintegrationstrategyverifiesmajorcontrolordecisionpointsearlyinthetestprocess.Inawell-factoredprogramstructure,decisionmakingoccursatupperlevelsinthehierarchyandisthereforeencounteredfirst.Ifmajorcontrolproblemsdoexist,earlyrecognitionisessential.Ifdepth-firstintegrationisselected,acompletefunctionofthesoftwaremaybeimplementedanddemonstrated.Top-downstrategysoundsrelativelyuncomplicated,butinpractice,logisticalproblemscanarise.Themostcommonofthese
image/svg+xml146problemsoccurswhenprocessingatlowlevelsinthehierarchyisrequiredtoadequatelytestupperlevels.Stubsreplacelow-levelmodulesatthebeginningoftop-downtesting;therefore,nosignificantdatacannowupwardintheprogramstructure.Thetesterisleft willthreechoices;Delaymanytestsuntilstubsarereplacedwithactualmodules.Developstubsthatperformlimitedfunctionsthatsimulatetheactualmodule,orIntegratethesoftwarefromthebottomofthehierarchyupward.Thefirstapproach(delaytestsuntilstubsarereplacedbyactualmodules)causesustoloosesomecontrolovercorrespondencebetweenspecifictestsandincorporationofspecificmodules.Thiscanleadtodifficultyindeterminingthecauseoferrorsandtendstoviolatethehighlyconstrainednatureofthetop-downapproach.Thesecondapproachisworkablebutcanleadtosignificantoverhead,asstubsbecomemoreandmorecomplex.Thethirdapproachiscalledbottom-uptesting.11.6.2Bottom-upIntegrationBottom-upintegrationtesting,asitsnameimplies,beginsconstructionandtestingwithatomicmodules(i.e.,componentsatthelowestlevelsintheprogramstructure).Becausecomponentsareintegratedfromthebottomup,processingrequiredforcomponentssubordinatetoagivenlevelisalwaysavailableandtheneedforstubsis eliminated.Abottom-upintegrationstrategymaybeimplementedwiththefollowingsteps:Low-levelcomponentsarecombinedintoclusters(sometimescalledbuilds)thatperformaspecificsoftwaresub-function.Adriver(acontrolprogramfortesting)iswrittentocoordinatetestcaseinputandoutput.Theclusteristested.Driversareremovedandclustersarecombinedmovingupwardintheprogramstructure.
image/svg+xml147IntegrationfollowsthepatternillustratedinFigurebelow.Componentsarecombinedtoformclusters1,2,and3.McMaMbD1D2D3Cluster 3Cluster2Cluster 1Eachoftheclustersistestedusingadriver(shownasadashedblock).Componentsinclusters1and2aresubordinatetoMa.DriversD1andD2areremovedandtheclustersareinterfaceddirectlytoMa.Similarly,driverD3forcluster3isremovedpriortointegrationwithmoduleMb.BothMaandMbwillultimatelybeintegratedwithcomponentMc,andsoforth.Asintegrationmovesupwardtheneedforseparatetestdriverslessens.Infact,ifthetoptwolevelsofprogramstructureareintegratedtopdown,thenumberofdriverscanbereducedsubstantiallyandintegrationofclustersisgreatlysimplified.11.7REGRESSIONTESTINGEachtimeanewmoduleisaddedaspartofintegrationtesting,thesoftwarechanges.Newdataflowpathsareestablished,newI/Omayoccur,andnewcontrollogicisinvoked.Thesechangesmaycauseproblemswithfunctionsthatpreviouslyworkedflawlessly.Inthecontextofanintegrationteststrategy,regressiontestingisthere-executionofsomesubsetofteststhathavealreadybeenconductedtoensurethatchangeshavenotpropagatedunintendedsideeffects.
image/svg+xml148Inabroadercontext,successfultests(ofanykind)resultinthediscoveryoferrors,anderrorsmustbecorrected.Wheneversoftwareiscorrected,someaspectofthesoftwareconfiguration(theprogram,itsdocumentation,orthedatathatsupportit)ischanged.Regressiontestingistheactivitythathclp5toen5urethatchanges(duetotestingorforotherreasons)donotintroduceunintendedbehaviouroradditionalerrors.Forinstance,supposeyouaregoingtoaddnewfunctionalitytoyoursoftware,oryouaregoingtomodifyamoduletoimproveitsresponsetime.Thechanges,ofcourse,mayintroduceerrorsintosoftwarethatwaspreviouslycorrect.Forexample,supposetheprogramfragmentx:=c+1; proc(z);c:=x+2;x:=3;worksproperly.Nowsupposethatinasubsequentredesignitistransformedintoproc(z);c:=c+3;x:=3;inanattemptatprogramoptimization.Thismayresultinanerrorifprocedureprocaccessesvariablex.Thus,weneedtoorganizetestingalsowiththepurposeofverifyingpossibleregressionsofsoftwareduringitslife,i.e.,degradationsofcorrectnessorotherqualitiesduetolatermodifications.Properlydesigninganddocumentingtestcaseswiththepurposeofmakingtestsrepeatable,andusingtestgenerators,willhelpregressiontesting.Conversely,theuseofinteractivehumaninputreducesrepeatabilityandthushampersregressiontesting.Finally,wemusttreattestcasesinmuchthesamewayassoftware.Itisclearthatsuchfactorsasresolvability,reusability,andverifiabilityarejustasimportantintestcasesastheyareinsoftware.Wemustapplyformalityandrigorandallofourotherprinciplesinthedevelopmentandmanagementoftestcases.11.8COMMENTSONINTEGRATIONTESTINGTherehasbeenmuchdiscussionoftherelativeadvantagesanddisadvantagesoftop-downversusbottom-upintegrationtesting.Ingeneral,theadvantagesofonestrategytendtoresultindisadvantagesfortheotherstrategy.Themajordisadvantageofthetop-downapproachistheneedforstubsandtheattendanttestingdifficultiesthatcanbeassociatedwiththem.Problems
image/svg+xml149associatedwithstubsmaybeoffsetbytheadvantageoftestingmajorcontrolfunctionsearly.Themajordisadvantageofbottom-upintegrationisthattheprogramasanentitydoesnotexistuntilthelastmoduleisadded.Thisdrawbackistemperedbyeasiertestcasedesignandalackofstubs.Selectionofanintegrationstrategydependsuponsoftwarecharacteristicsand,sometimes,projectschedule.Ingeneral,acombinedapproach(sometimescalledsandwichtesting)thatusestop-downtestsforupperlevelsoftheprogramstructure,coupledwithbottom-uptestsforsubordinatelevelsmaybethebestcompromise.Asintegrationtestingisconducted,thetestershouldidentifycriticalmodules.Acriticalmodulehasoneormoreofthefollowingcharacteristics:addressesseveralsoftwarerequirements,hasahighlevelofcontrol(residesrelativelyhighintheprogram structure),iscomplexorerrorprone(cyclomaticcomplexitymaybeusedasanindicator),orhasdefiniteperformancerequirements.Criticalmodulesshouldbetestedasearlyasispossible.Inaddition,regressiontestsshouldfocusoncriticalmodulefunction.11.9THEARTOFDEBUGGINGSoftwaretestingisaprocessthatcanbesystematicallyplannedandspecified.Testcasedesigncanbeconducted,astrategycanbedefined,andresultscanbeevaluatedagainstprescribedexpectations.Debuggingoccursasaconsequenceorsuccessfultesting.Thatis,whenatestcaseuncoversanerror,debuggingistheprocessthatresultsintheremovalortheerror.Althoughdebuggingcanandshouldbeanorderlyprocess,itisstillverymuchanart.Asoftwareengineer,evaluatingtheresultsoratest,isoftenconfrontedwitha"symptomatic"indicationorasoftwareproblem.Thatis,theexternalmanifestationortheerrorandtheinternalcauseortheerrormayhavenoobviousrelationshiptooneanother.Thepoorlyunderstoodmentalprocessthatconnectsasymptomtoacauseisdebugging.
image/svg+xml15011.9.1TheDebuggingProcessDebuggingisnottestingbutalwaysoccursasaconsequenceoftesting.ReferringtoFigureinthenextpage,thedebuggingprocessbeginswiththeexecutionoratestcase.Resultsareassessedandalackorcorrespondencebetweenexpectedandactualperformanceisencountered.Inmanycases,thenon-correspondingdataareasymptomofanunderlyingcauseasyethidden.Thedebuggingprocessattemptstomatchsymptomwithcausetherebyleadingtoerrorcorrection.Thedebuggingprocesswillalwayshaveoneortwooutcomes:1.Thecausewillbefoundandcorrected,or2.Thecausewillnotbefound.Inthelattercase,thepersonperformingdebuggingmaysuspectacause,designatestcasetohelpvalidatethatsuspicion,andworktowarderrorcorrectioninaniterativefashion.TestcasesRegressionTestAdditionalTestExecution ofcasesCorrectionSuspectedcausesResultIdentify CausesDebuggingWhyisdebuggingsodifficult?Inalllikelihood,humanpsychologyhasmoretodowithananswerthansoftwaretechnology.However,afewcharacteristicsorbugsprovidesomeclues:Thesymptomandthecausemaybegeographicallyremote.Thatis,thesymptommayappearinonepartoraprogram,whilethecausemayactuallybelocatedatasitethatisfarremoved.Highlycoupledprogramstructuresexacerbatethissituation.
image/svg+xml151Thesymptommaydisappear(temporarily)whenanothererroriscorrected.Thesymptommayactuallybecausedbynon-errors(e.g.,round-offinaccuracies).Thesymptommaybecausedbyhumanerrorthatisnoteasilytraced.Thesymptommaybearesult,ortimingproblems,ratherthanprocessingproblems.It maybedifficulttoaccuratelyreproduceinputconditions(e.g.,areal-timeapplicationinwhichinputorderingisindeterminate).Thesymptommaybeintermittent.Thisisparticularlycommoninembeddedsystemsthatcouplehardwareandsoftwareinextricably.Thesymptommaybeduetocausesthataredistributedacrossanumberoftasksrunningondifferentprocessors.Duringdebugging,weencountererrorsthatrangefrommildlyannoying(e,g.,anincorrectoutputformat)tocatastrophic(e.g.thesystemfails,causingseriouseconomicorphysicaldamage).Astheconsequencesoranerrorincrease,theamountofpressuretofindthecausealsoincreases.Often,pressuresometimesforcesasort-waredevelopertofixoneerrorandatthesametimeintroducetwomore.10.10SUMMARY:Inthisway,welearnedaboveStrategicapproachtosoftwaretesting,UnitTesting,IntegrationTestingandDebuggingprocessindetail.Questions:1.ExplainUnitTesting?Ans:Refer11.52.ExplainIntegrationtesting?Ans:Refer11.63.ExplainRegressionTesting?Ans:Refer11.74.ExplainDebuggingProcessindetail?Ans:Refer11.9.1
image/svg+xmlCATEGORIESOFTESTING12.1INTRODUCTION:InthisChapter,wewilllearnthetestinglifecycleofsoftwareandalsotestingmethodslikewhiteboxtestingandblackboxtesting.AlsowetryingtocoverthesubprocessesofwhiteboxtestingandblackboxtestingmethodssuchasIntegrationTesting,UnitTesting,RegressionTesting,SystemTestingandmuchmore.12.2THETESTINGPROCESSANDTHESOFTWARETESTINGLIFECYCLE:Everytestingprojecthastofollowthewaterfallmodelofthetestingprocess.Thewaterfallmodelisasgivenbelow1.TestStrategy&Planning
image/svg+xml1532.TestDesign3.TestEnvironmentsetup4.TestExecution5.DefectAnalysis&Tracking6. FinalReportingAccordingtotherespectiveprojects,thescopeoftestingcanbetailored,buttheprocessmentionedaboveiscommontoanytestingactivity.SoftwareTestinghasbeenacceptedasaseparatedisciplinetotheextentthatthereisaseparatelifecycleforthetestingactivity.Involvingsoftwaretestinginallphasesofthesoftwaredevelopmentlifecyclehasbecomeanecessityaspartofthesoftwarequalityassuranceprocess.RightfromtheRequirementsstudytilltheimplementation,thereneedstobetestingdoneoneveryphase.TheV-ModeloftheSoftwareTestingLifeCyclealongwiththeSoftwareDevelopmentLifecyclegivenbelowindicatesthevariousphasesorlevelsoftesting.RequirementProductionStudyVerificationtestingHighLevelUseracceptancetestingDesignLowLevelSystemTestingDesignUnitTestingIntegrationTestingSDLC-STLCTherearetwocategoriesoftestingactivitiesthatcanbedoneonsoftware,namely,!StaticTesting!DynamicTesting
image/svg+xml154ThekindofverificationwedoonthesoftwareworkproductsbeforetheprocessofCompilationandcreationofanexecutableismoreofRequirementreview,designreview,codereview,walkthroughandaudits.ThistypeoftestingiscalledStaticTesting.Whenwetestthesoftwarebyexecutingandcomparingtheactual&expectedresults,itiscalledDynamicTesting12.3TYPESOFTESTINGFromtheV-model,weseethatarevariouslevelsorphasesoftesting,namely,Unittesting,Integrationtesting,Systemtesting,UserAcceptancetestingetc.Letusseeabriefdefinitiononthewidelyemployedtypesoftesting.UnitTesting:Thetestingdonetoaunitortoasmallestpieceofsoftware.Donetoverifyifit satisfiesitsfunctionalspecificationoritsintendeddesignstructure.IntegrationTesting:Testingwhichtakesplaceassubelementsarecombined(i.e.integrated)toformhigher-levelelementsRegressionTesting:Selectivere-testingofasystemtoverifythemodification(bugfixes)havenotcausedunintendedeffectsandthatsystemstillcomplieswithitsspecifiedrequirementsSystemTesting:TestingthesoftwarefortherequiredspecificationsontheintendedhardwareAcceptanceTesting:Formaltestingconductedtodeterminewhetherornotasystemsatisfiesitsacceptancecriteria,whichenablesacustomertodeterminewhethertoacceptthesystemornot.PerformanceTesting:Toevaluatethetimetakenorresponsetimeofthesystemtoperformit’srequiredfunctionsincomparisonStressTesting:Toevaluateasystembeyondthelimitsofthespecifiedrequirementsorystemresources(suchasdiskspace,memory,processorutilization)toensurethesystemdonotreakunexpectedlyLoadTesting:LoadTesting,asubsetofstresstesting,verifiesthatawebsitecanhandleaparticularnumberofconcurrentuserswhilemaintainingacceptableresponsetimesAlphaTesting:Testingofasoftwareproductorsystemconductedatthedeveloper’ssitebythecustomer
image/svg+xml155BetaTesting:Testingconductedatoneormorecustomersitesbytheenduserofadeliveredsoftwareproductsystem.12.4THETESTINGTECHNIQUESToperformthesetypesoftesting,therearetwowidelyusedtestingtechniques.Theabovesaidtestingtypesareperformedbasedonthefollowingtestingtechniques.Black-Boxtestingtechnique:Thistechniqueisusedfortestingbasedsolelyonanalysisofrequirements(specification,userdocumentation.).Alsoknownasfunctionaltesting.White-Boxtestingtechnique:Thistechniqueususedfortestingbasedonanalysisofinternallogic(design,code,etc.)(Butexpectedresultsstillcomerequirements).Alsoknownasstructuraltesting.12.5BLACKBOXANDWHITEBOXTESTING:TestDesignreferstounderstandingthesourcesoftestcases,testcoverage,howtodevelopanddocumenttestcases,andhowtobuildandmaintaintestdata.Thereare2primarymethodsbywhichtestscanbedesignedandtheyare:- BLACKBOX -WHITEBOXBlack-boxtestdesigntreatsthesystemasaliteral"black-box",soitdoesn'texplicitlyuseknowledgeoftheinternalstructure.Itisusuallydescribedasfocusingontestingfunctionalrequirements.Synonymsforblack-boxinclude:behavioural,functional,opaque-box,andclosed-box.White-boxtestdesignallowsonetopeekinsidethe"box",anditfocusesspecificallyonusinginternalknowledgeofthesoftwaretoguidetheselectionoftestdata.Itisusedtodetecterrorsbymeansofexecution-orientedtestcases.Synonymsforwhite-boxinclude:Structural,glass-boxandclear-box.Whileblack-boxandwhite-boxaretermsthatarestillinpopularuse,manypeopleprefertheterms"behavioural"and"structural".Behaviouraltestdesignisslightlydifferentfromblack-boxtestdesignbecausetheuseofinternalknowledgeisn'tstrictlyforbidden,butit's stilldiscouraged.Inpractice,ithasn'tprovenusefultouseasingletestdesignmethod.Onehastouseamixtureofdifferentmethodssothattheyaren'thinderedbythelimitations
image/svg+xml156ofaparticularone.Somecallthis"gray-box"or"translucent-box"testdesign,butotherswishwe'dstoptalkingaboutboxesaltogether!!!12.6BLACK BOXTESTINGBlackBoxTestingistestingwithoutknowledgeoftheinternalworkingsoftheitembeingtested.Forexample,whenblackboxtestingisappliedtosoftwareengineering,thetesterwouldonlyknowthe"legal"inputsandwhattheexpectedoutputsshouldbe,butnothowtheprogramactuallyarrivesatthoseoutputs.Itisbecauseofthisthatblackboxtestingcanbeconsideredtestingwithrespecttothespecifications,nootherknowledgeoftheprogramisnecessary.Forthisreason,thetesterandtheprogrammercanbeindependentofoneanother,avoidingprogrammerbiastowardhisownwork.Forthistesting,testgroupsareoftenused,Thoughcenteredaroundtheknowledgeofuserrequirements,blackboxtestsdonotnecessarilyinvolvetheparticipationofusers.Amongthemostimportantblackboxteststhatdonotinvolveusersarefunctionalitytesting,volumetests,stresstests,recoverytesting,andbenchmarks.Additionally,therearetwotypesofblackboxtestthatinvolveusers,i.e.fieldandlaboratorytests.Inthefollowingthemostimportantaspectsoftheseblackboxtestswillbedescribedbriefly.!Blackboxtesting-withoutuserinvolvementTheso-called``functionalitytesting''iscentraltomosttestingexercises.Itsprimaryobjectiveistoassesswhethertheprogramdoeswhatit issupposedtodo,i.e.whatisspecifiedintherequirements.Therearedifferentapproachestofunctionalitytesting.Oneisthetestingofeachprogramfeatureorfunctioninsequence.Theotheristotestmodulebymodule,i.e.eachfunctionwhereitis calledfirst.Theobjectiveofvolumetestsistofindthelimitationsofthesoftwarebyprocessingahugeamountofdata.Avolumetestcanuncoverproblemsthatarerelatedtotheefficiencyofasystem,e.g.incorrectbuffersizes,aconsumptionoftoomuchmemoryspace,oronlyshowthatanerrormessagewouldbeneededtellingtheuserthatthesystemcannotprocessthegivenamountofdata.Duringastresstest,thesystemhastoprocessahugeamountofdataorperformmanyfunctioncallswithinashortperiodoftime.AtypicalexamplecouldbetoperformthesamefunctionfromallworkstationsconnectedinaLANwithinashortperiodoftime(e.g.sendinge-mails,or,intheNLParea,tomodifyatermbankviadifferent terminalssimultaneously).
image/svg+xml157Theaimofrecoverytestingistomakesuretowhichextentdatacanberecoveredafterasystembreakdown.Doesthesystemprovidepossibilitiestorecoverallofthedataorpartofit?Howmuchcanberecoveredandhow?Istherecovereddatastillcorrectandconsistent?Particularlyforsoftwarethatneedshighreliabilitystandards,recoverytestingisveryimportant.Thenotionofbenchmarktestsinvolvesthetestingofprogramefficiency.Theefficiencyofapieceofsoftwarestronglydependsonthehardwareenvironmentandthereforebenchmarktestsalwaysconsiderthesoft/hardwarecombination.Whereasformostsoftwareengineersbenchmarktestsareconcernedwiththequantitativemeasurementofspecificoperations,somealsoconsideruserteststhatcomparetheefficiencyofdifferentsoftwaresystemsasbenchmarktests.Inthecontextofthisdocument,however,benchmarktestsonlydenoteoperationsthatareindependentofpersonalvariables.!Blackboxtesting-withuserinvolvementFortestsinvolvingusers,methodologicalconsiderationsarerareinSEliterature.Rather,onemayfindpracticaltestreportsthatdistinguishroughlybetweenfieldandlaboratorytests.Inthefollowingonlyaroughdescriptionoffieldandlaboratorytestswillbegiven.E.g.ScenarioTests.Theterm``scenario''hasenteredsoftwareevaluationintheearly1990s. Ascenariotestisatestcasewhichaimsatarealisticuserbackgroundfortheevaluationofsoftwareasit wasdefinedandperformedItisaninstanceofblackboxtestingwherethemajorobjectiveistoassessthesuitabilityofasoftwareproductforevery-dayroutines.Inshortitinvolvesputtingthesystemintoitsintendedusebyitsenvisagedtypeofuser,performingastandardisedtask.Infieldtestsusersareobservedwhileusingthesoftwaresystemattheirnormalworkingplace.Apartfromgeneralusability-relatedaspects,fieldtestsareparticularlyusefulforassessingtheinteroperabilityofthesoftwaresystem,i.e.howthetechnicalintegrationofthesystemworks.Moreover,fieldtestsaretheonlyrealmeanstoelucidateproblemsoftheorganisationalintegrationofthesoftwaresystemintoexistingprocedures.ParticularlyintheNLPenvironmentthisproblemhasfrequentlybeenunderestimated.Atypicalexampleoftheorganisationalproblemofimplementingatranslationmemoryisthelanguageserviceofabigautomobilemanufacturer,wherethemajorimplementationproblemisnotthetechnicalenvironment,butthefactthatmanyclientsstillsubmittheirordersasprint-out,thatneithersourcetextsnortargettexts
image/svg+xml158areproperlyorganisedandstoredand,lastbutnotleast,individualtranslatorsarenottoomotivatedtochangetheirworkinghabits.Laboratorytestsaremostlyperformedtoassessthegeneralusabilityofthesystem.DuetothehighlaboratoryequipmentcostslaboratorytestsaremostlyonlyperformedatbigsoftwarehousessuchasIBMorMicrosoft.Sincelaboratorytestsprovidetesterswithmanytechnicalpossibilities,datacollectionandanalysisareeasierthanforfieldtests.12.6.1BlackboxtestingMethods!Graph-basedTestingMethodsBlack-boxmethodsbasedonthenatureoftherelationships(links)amongtheprogramobjects(nodes),testcasesaredesignedtotraversetheentiregraphTransactionflowtesting(nodesrepresentstepsinsometransactionandlinksrepresentlogicalconnectionsbetweenstepsthatneedtobevalidated)Finitestatemodelling(nodesrepresentuserobservablestatesofthesoftwareandlinksrepresenttransitionsbetweenstates)Dataflowmodelling(nodesaredataobjectsandlinksaretransformationsfromonedataobjecttoanother)Timingmodelling(nodesareprogramobjectsandlinksaresequentialconnectionsbetweentheseobjects,linkweightsarerequiredexecutiontimes)!Equivalence PartitioningBlack-boxtechniquethatdividestheinputdomainintoclassesofdatafromwhichtestcasescanbederived.AnidealtestcaseuncoversaclassoferrorsthatmightrequiremanyarbitrarytestcasestobeexecutedbeforeageneralerrorisobservedEquivalenceclassguidelines:1.Ifinputconditionspecifiesarange,onevalidandtwoinvalidequivalenceclassesaredefined2.Ifaninputconditionrequiresaspecificvalue,onevalidandtwoinvalidequivalenceclassesaredefined3.Ifaninputconditionspecifiesamemberofaset,onevalidandoneinvalidequivalenceclassisdefined4.IfaninputconditionisBoolean,onevalidandoneinvalidequivalenceclassisdefined
image/svg+xml159!ComparisonTestingBlack-boxtestingforsafetycriticalsystemsinwhichindependentlydevelopedimplementationsofredundantsystemsaretestedforconformancetospecifications.Oftenequivalenceclasspartitioningisusedtodevelopacommonsetoftestcasesforeachimplementation.!OrthogonalArrayTestingBlack-boxtechniquethatenablesthedesignofareasonablysmallsetoftestcasesthatprovidemaximumtestcoverage.Focusisoncategoriesoffaultylogiclikelytobepresentinthesoftwarecomponent(withoutexaminingthecode)·Prioritiesforassessingtestsusinganorthogonalarray1.Detectandisolateallsinglemodefaults2.Detectalldoublemodefaults3. Multimodefaults12.6.2AdvantagesofBlackBoxTesting·Moreeffectiveonlargerunitsofcodethanglassboxtesting·Testerneedsnoknowledgeofimplementation,includingspecificprogramminglanguages·Testerandprogrammerareindependentofeachother·Testsaredonefromauser'spointofview·Willhelptoexposeanyambiguitiesorinconsistenciesinthespecifications·Testcasescanbedesignedassoonasthespecificationsarecomplete12.6.3DisadvantagesofBlackBoxTesting·Onlyasmallnumberofpossibleinputscanactuallybetested,totesteverypossibleinputstreamwouldtakenearlyforever·Withoutclearandconcisespecifications,testcasesarehardtodesign·Theremaybeunnecessaryrepetitionoftestinputsifthetesterisnotinformedoftestcasestheprogrammerhasalreadytried·Mayleavemanyprogrampathsuntested·Cannotbedirectedtowardspecificsegmentsofcodewhichmaybeverycomplex(andthereforemoreerrorprone)·Mosttestingrelatedresearchhasbeendirectedtowardglassboxtesting
image/svg+xml16012.7WHITEBOXTESTINGSoftwaretestingapproachesthatexaminetheprogramstructureandderivetestdatafromtheprogramlogic.Structuraltestingissometimesreferredtoasclear-boxtestingsincewhiteboxesareconsideredopaqueanddonotreallypermitvisibilityintothecode.!Synonymsforwhiteboxtesting·GlassBoxtesting·Structuraltesting·ClearBoxtesting·OpenBoxTesting!ThepurposeofwhiteboxtestingInitiateastrategicinitiativetobuildqualitythroughoutthelifecycleofasoftwareproductorservice.Provideacomplementaryfunctiontoblackboxtesting.Performcompletecoverageatthecomponentlevel.Improvequalitybyoptimizingperformance.12.7.1CodeCoverageAnalysis!BasisPathTestingAtestingmechanismproposedbyMcCabewhoseaimistoderivealogicalcomplexitymeasureofaproceduraldesignandusethisasaguidefordefiningabasicsetofexecutionpaths.Thesearetestcasesthatexercisebasicsetwillexecuteeverystatementatleastonce.!FlowGraphNotationAnotationforrepresentingcontrolflowsimilartoflowchartsandUMLactivitydiagrams.!CyclomaticComplexityThecyclomaticcomplexitygivesaquantitativemeasureof4thelogicalcomplexity.Thisvaluegivesthenumberofindependentpathsinthebasisset,andanupperboundforthenumberofteststoensurethateachstatementisexecutedatleastonce.Anindependentpathisanypaththroughaprogramthatintroducesatleastonenewsetofprocessingstatementsoranewcondition(i.e.,anewedge).Cyclomaticcomplexityprovidesupperboundfornumberoftestsrequiredtoguaranteecoverageofallprogramstatements.
image/svg+xml16112.7.2ControlStructuretesting!ConditionsTestingConditiontestingaimstoexercisealllogicalconditionsinaprogrammodule.Theymaydefine:Relationalexpression:(E1opE2),whereE1andE2arearithmeticexpressions.Simplecondition:Booleanvariableorrelationalexpression,possiblyproceededbyaNOToperator.Compoundcondition:composedoftwoormoresimpleconditions,Booleanoperatorsandparentheses.Booleanexpression:ConditionwithoutRelationalexpressions.!Data FlowTestingSelectstestpathsaccordingtothelocationofdefinitionsanduseofvariables.!Loop TestingLoopsfundamentaltomanyalgorithms.Candefineloopsasimple,concatenated,nested,andunstructured.Examples:Notethatunstructuredloopsarenottobetested.rather,theyareredesigned.!DesignbyContract(DbC)DbCisaformalwayofusingcommentstoincorporatespecificationinformationintothecodeitself.Basically,thecodespecificationisexpressedunambiguouslyusingaformallanguagethatdescribesthecode'simplicitcontracts.Thesecontractsspecifysuchrequirementsas:Conditionsthattheclientmustmeetbeforeamethodisinvoked.Conditionsthatamethodmustmeetafteritexecutes.Assertionsthatamethodmustsatisfyatspecificpointsofitsexecution!ProfilingProfilingprovidesaframeworkforanalyzingJavacodeperformanceforspeedandheapmemoryuse.ItidentifiesroutinesthatareconsumingthemajorityoftheCPUtimesothatproblemsmaybetrackeddowntoimproveperformance.
image/svg+xml162!ErrorHandlingExceptionanderrorhandlingischeckedthoroughlyaresimulatingpartialandcompletefail-overbyoperatingonerrorcausingtestvectors.Propererrorrecovery,notificationandloggingarecheckedagainstreferencestovalidateprogramdesign.!TransactionsSystemsthatemploytransaction,localordistributed,maybevalidatedtoensurethatACID(Atomicity,Consistency,Isolation,Durability).Eachoftheindividualparametersistestedindividuallyagainstareferencedataset.Transactionsarecheckedthoroughlyforpartial/completecommitsandrollbacksencompassingdatabasesandotherXAcomplianttransactionprocessors.12.7.3AdvantagesofWhiteBoxTesting·Forcestestdevelopertoreasoncarefullyaboutimplementation·Approximatethepartitioningdonebyexecutionequivalence·Revealserrorsin"hidden"code·Beneficentside-effects12.7.4DisadvantagesofWhiteBoxTesting·Expensive·Casesomittedinthecodecouldbemissedout.12.8DIFFERENCEBETWEENBLACKBOXTESTINGANDWHITEBOXTESTINGAneasywaytostartupadebateinasoftwaretestingforumistoaskthedifferencebetweenblackboxandwhiteboxtesting.Thesetermsarecommonlyused,yeteveryoneseemstohaveadifferentideaofwhattheymean.Blackboxtestingbeginswithametaphor.Imagineyou’retestinganelectronicssystem.It’shousedinablackboxwithlights,switches,anddialsontheoutside.Youmusttestit withoutopeningitup,andyoucan’tseebeyonditssurface.Youhavetoseeifitworksjustbyflippingswitches(inputs)andseeingwhathappenstothelightsanddials(outputs).Thisisblackboxtesting.Blackboxsoftwaretestingisdoingthesamething,butwithsoftware.Theactualmeaningofthemetaphor,however,dependsonhowyoudefinetheboundaryoftheboxandwhatkindofaccessthe“blackness” isblocking.
image/svg+xml163Anoppositetestapproachwouldbetoopenuptheelectronicssystem,seehowthecircuitsarewired,applyprobesinternallyandmaybeevendisassemblepartsofit. Byanalogy,thisiscalledwhiteboxtesting,Tohelpunderstandthedifferentwaysthatsoftwaretestingcanbedividedbetweenblackboxandwhiteboxtechniques,considertheFive-FoldTestingSystem.Itlaysoutfivedimensionsthatcanbeusedforexaminingtesting:1.People(whodoesthetesting)2.Coverage(whatgetstested)3.Risks(whyyouaretesting)4.Activities(howyouaretesting)5.Evaluation(howyouknowyou’vefoundabug)Let’susethissystemtounderstandandclarifythecharacteristicsofblackboxandwhiteboxtesting.People:Whodoesthetesting?Somepeopleknowhowsoftwareworks(developers)andothersjustuseit (users).Accordingly,anytestingbyusersorothernon-developersissometimescalled“blackbox”testing.Developertestingiscalled“whitebox”testing.Thedistinctionhereisbasedonwhatthepersonknowsorcanunderstand.Coverage:Whatis tested?Ifwedrawtheboxaroundthesystemasawhole,“blackbox”testingbecomesanothernameforsystemtesting.Andtestingtheunitsinsidetheboxbecomeswhiteboxtesting.Thisisonewaytothinkaboutcoverage.Anotheristocontrasttestingthataimstocoveralltherequirementswithtestingthataimstocoverallthecode.Thesearethetwomostcommonlyusedcoveragecriteria.Botharesupportedbyextensiveliteratureandcommercialtools.Requirements-basedtestingcouldbecalled“blackbox”becauseitmakessurethatallthecustomerrequirementshavebeenverified.Code-basedtestingisoftencalled“whitebox”becauseitmakessurethatallthecode(thestatements,paths,ordecisions)isexercised.Risks:Whyareyoutesting?Sometimestestingistargetedatparticularrisks.Boundarytestingandotherattack-basedtechniquesaretargetedatcommoncodingerrors.Effectivesecuritytestingalsorequiresadetailedunderstandingofthecodeandthesystemarchitecture.Thus,thesetechniquesmightbeclassifiedas“whitebox”.Anothersetofrisksconcernswhetherthesoftwarewillactuallyprovidevaluetousers.Usabilitytestingfocusesonthisrisk,andcouldbetermed“blackbox.”
image/svg+xml164Activities:Howdoyoutest?Acommondistinctionismadebetweenbehaviouraltestdesign,whichdefinestestsbasedonfunctionalrequirements,andstructuraltestdesign,whichdefinestestsbasedonthecodeitself.Thesearetwodesignapproaches.Sincebehaviouraltestingisbasedonexternalfunctionaldefinition,it isoftencalled“blackbox,”whilestructuraltestingbasedonthecodeinternalsiscalled“whitebox.”Indeed,thisisprobablythemostcommonlyciteddefinitionforblackboxandwhiteboxtesting.Anotheractivity-baseddistinctioncontrastsdynamictestexecutionwithformalcodeinspection.Inthiscase,themetaphormapstestexecution(dynamictesting)withblackboxtesting,andmapscodeinspection(statictesting)withwhiteboxtesting.Wecouldalsofocusonthetoolsused.Sometoolvendorsrefertocode-coveragetoolsaswhiteboxtools,andtoolsthatfacilitateapplyinginputsandcapturinginputsmostnotablyGUIcapturereplaytoolsasblackboxtools.Testingisthencategorizedbasedonthetypesoftoolsused.Evaluation:Howdoyouknowifyou’vefoundabug?Therearecertainkindsofsoftwarefaultsthatdon’talwaysleadtoobviousfailures.Theymaybemaskedbyfaulttoleranceorsimplyluck.Memoryleaksandwildpointersareexamples.Certaintesttechniquesseektomakethesekindsofproblemsmorevisible.Relatedtechniquescapturecodehistoryandstackinformationwhenfaultsoccur,helpingwithdiagnosis.Assertionsareanothertechniqueforhelpingtomakeproblemsmorevisible.Allofthesetechniquescouldbeconsideredwhiteboxtesttechniques,sincetheyusecodeinstrumentationtomaketheinternalworkingsofthesoftwaremorevisible.Thesecontrastwithblackboxtechniquesthatsimplylookattheofficialoutputsofaprogram.Whiteboxtestingisconcernedonlywithtestingthesoftwareproduct,itcannotguaranteethatthecompletespecificationhasbeenimplemented.Blackboxtestingisconcernedonlywithtestingthespecification,itcannotguaranteethatallpartsoftheimplementationhavebeentested.Thusblackboxtestingistestingagainstthespecificationandwilldiscoverfaultsofomission,indicatingthatpartofthespecificationhasnotbeenfulfilled.Whiteboxtestingistestingagainsttheimplementationandwilldiscoverfaultsofcommission,indicatingthatpartoftheimplementationisfaulty.Inordertofullytestasoftwareproductbothblackandwhiteboxtestingarerequired.Whiteboxtestingismuchmoreexpensivethanblackboxtesting.Itrequiresthesourcecodetobeproducedbeforethetests
image/svg+xml165canbeplannedandismuchmorelaboriousinthedeterminationofsuitableinputdataandthedeterminationifthesoftwareisorisnotcorrect.Theadvicegivenistostarttestplanningwithablackboxtestapproachassoonasthespecificationisavailable.Whiteboxplanningshouldcommenceassoonasallblackboxtestshavebeensuccessfullypassed,withtheproductionofflowgraphsanddeterminationofpaths.Thepathsshouldthenbecheckedagainsttheblackboxtestplanandanyadditionalrequiredtestrunsdeterminedandapplied.Theconsequencesoftestfailureatthisstagemaybeveryexpensive.Afailureofawhiteboxtestmayresultinachangewhichrequiresallblackboxtestingtoberepeatedandthere-determinationofthewhiteboxpaths12.9 SUMMARY:Toconclude,apartfromtheabovedescribedanalyticalmethodsofbothwhiteandblackboxtesting,therearefurtherconstructivemeanstoguaranteehighqualitysoftwareendproducts.Amongthemostimportantconstructivemeansaretheusagesofobject-orientedprogrammingtools,theintegrationofCASEtools,rapidprototyping,andlastbutnotleasttheinvolvementofusersinbothsoftwaredevelopmentandtestingprocedures.Questions:1.ExplainSoftwareTestingLifeCycleindetail?Ans:Refer12.22.ExplainTypesofTestingindetail?Ans:Refer12.33.ExplainBlackBoxandWhiteBoxtesting?Ans:Refer12.5
image/svg+xmlSOFTWARETESTING13.1INTRODUCTION:Softwaretestingisanart.Mostofthetestingmethodsandpracticesarenotverydifferentfrom20yearsago.Itisnowherenearmaturity,althoughtherearemanytoolsandtechniquesavailabletouse.Goodtestingalsorequiresatester'screativity,experienceandintuition,togetherwithpropertechniquesBeforemovingfurthertowardsintroductiontosoftwaretesting,weneedtoknowafewconceptsthatwillsimplifythedefinition ofsoftwaretesting.!Error:Errorormistakeisahumanactionthatproduceswrongorincorrectresult.!Defect(Bug,Fault):Aflawinthesystemoraproductthatcancausethecomponenttofail.!Failure:Itisthevariancebetweentheactualandexpectedresult.!Risk:Riskisafactorthatcouldresultinnegativityorachanceoflossordamage.ThusSoftwaretestingistheprocessoffindingdefects/bugsinthesystem,whichoccursduetoanerrorintheapplication,whichcouldleadtofailureoftheresultantproductandincreasein
image/svg+xml167probabilityofhighrisk.Inshort,softwaretestinghasdifferentgoalsandobjectives,whichofteninclude:1. findingdefects;2.gainingconfidenceinandprovidinginformationaboutthelevelof quality;3.Preventingdefects.13.2SCOPEOFSOFTWARETESTINGTheprimaryfunctionofsoftwaretestingistodetectbugsinordertocorrectanduncoverit. Thescopeofsoftwaretestingincludesexecutionofthatcodeinvariousenvironmentsandalsotoexaminetheaspectsofcode-doesthesoftwaredowhatitissupposedtodoandfunctionaccordingtothespecifications?Aswemovefurtherwecomeacrosssomequestionssuchas"Whentostarttesting?"and"Whentostoptesting?"Itisrecommendedtostarttestingfromtheinitialstagesofthesoftwaredevelopment.Thisnotonlyhelpsinrectifyingtremendouserrorsbeforethelaststage,butalsoreducesthereworkoffindingthebugsintheinitialstageseverynowandthen.Italsosavesthecostofthedefectrequiredtofindit.Softwaretestingisanongoingprocess,whichispotentiallyendlessbuthastobestoppedsomewhere,duetothelackoftimeandbudget.Itisrequiredtoachievemaximumprofitwithgoodqualityproduct,withinthelimitationsoftimeandmoney.Thetesterhastofollowsomeproceduralwaythroughwhichhecanjudgeifhecoveredallthepointsrequiredfortestingormissedoutany.13.3 SOFTWARETESTINGKEYCONCEPTS!DefectsandFailures:Aswediscussedearlier,defectsarenotcausedonlyduetothecodingerrors,butmostcommonlyduetotherequirementgapsinthenon-functionalrequirement,suchasusability,testability,scalability,maintainability,performanceandsecurity.Afailureiscausedduetothedeviationbetweenanactualandanexpectedresult.Butnotalldefectsresulttofailures.Adefectcanturnintoafailureduetothechangeintheenvironmentandorthechangeintheconfigurationofthesystemrequirements.!InputCombinationandPreconditions:Testingallcombinationofinputsandinitialstate(preconditions),isnotfeasible.Thismeansfindinglargenumberofinfrequentdefectsis difficult.!StaticandDynamicAnalysis:Statictestingdoesnotrequireexecutionofthecodeforfindingdefects,whereasin
image/svg+xml168dynamictesting,softwarecodeisexecutedtodemonstratetheresultsofrunningtests.!VerificationandValidation:Softwaretestingisdoneconsideringthesetwofactors.1.Verification:Thisverifieswhethertheproductisdoneaccordingtothespecification?2.Validation:Thischeckswhethertheproductmeetsthecustomerrequirement?!SoftwareQualityAssurance:Softwaretestingisanimportantpartofthesoftwarequalityassurance.Qualityassuranceisanactivity,whichprovesthesuitabilityoftheproductbytakingcareofthequalityofaproductandensuringthatthecustomerrequirementsaremet.13.4SOFTWARETESTINGTYPESSoftwaretesttypeisagroupoftestactivitiesthatareaimedattestingacomponentorsystemfocusedonaspecifictestobjective;anon-functionalrequirementsuchasusability,testabilityorreliability.Varioustypesofsoftwaretestingareusedwiththecommonobjectiveoffindingdefectsinthatparticularcomponent.Softwaretestingisclassifiedaccordingtotwobasictypesofsoftwaretesting:ManualScriptedTestingandAutomatedTesting.ManualScriptedTesting:!Black BoxTesting!White BoxTesting!Gray BoxTestingThelevelofsoftwaretestinglifecycleincludes:!UnitTesting!IntegrationTesting!System Testing!AcceptanceTesting1.AlphaTesting2.BetaTestingOthertypesofsoftwaretestingare:
image/svg+xml1691. LoadTesting2.StressTesting!SmokeTesting!Sanity Testing!RegressionTesting!Recovery Testing!UsabilityTesting!CompatibilityTesting!ConfigurationTesting!ExploratoryTestingForfurtherexplanationoftheseconcepts,readmoreontypesofsoftwaretesting.AutomatedTesting:Manualtestingisatimeconsumingprocess.Automationtestinginvolvesautomatingamanualprocess.Testautomationisaprocessofwritingacomputerprogramintheformofscriptstodoatestingwhichwouldotherwiseneedtobedonemanually.SomeofthepopularautomationtoolsareWinrunner,QuickTestProfessional(QTP),LoadRunner,SilkTest,RationalRobot,etc.AutomationtoolscategoryalsoincludesmaintenancetoolsuchasTestDirectorandmanyother.13.5SOFTWARETESTINGMETHODOLOGIESThesoftwaretestingmethodologiesorprocessincludesvariousmodelsthatbuilttheprocessofworkingforaparticularproduct.Thesemodelsareasfollows:!WaterfallModel!VModel!SpiralModel!Rational UnifiedProcess(RUP)!AgileModel!Rapid ApplicationDevelopment(RAD)Thesemodelsareelaboratedbrieflyinsoftwaretestingmethodologies.13.6SOFTWARETESTINGARTIFACTSSoftwaretestingprocesscanproducevariousartifactssuchas:
image/svg+xml170ensurethataproductorsystemmeetsitsdesignspecification.!Traceabilitymatrix:Thisisatablethatcorrelatesordesigndocumentstotestdocuments.Thisverifiesthatthetestresultsarecorrectandisalsousedtochangetestswhenthesourcedocumentsarechanged.!TestCase:Testcasesandsoftwaretestingstrategiesareusedtocheckthefunctionalityofindividualcomponentthatisintegratedtogivetheresultantproduct.Thesetestcasesaredevelopedwiththeobjectiveofjudgingtheapplicationforitscapabilitiesorfeatures.!TestData:Whenmultiplesetsofvaluesordataareusedtotestthesamefunctionalityofaparticularfeatureinthetestcase,thetestvaluesandchangeableenvironmentalcomponentsarecollectedinseparatefilesandstoredastestdata.!TestScripts:Thetestscriptisthecombinationofatestcase,testprocedureandtestdata.!TestSuite:Testsuiteisacollectionoftestcases.SoftwareTestingProcessSoftwaretestingprocessiscarriedoutinthefollowingsequence,inordertofindfaultsinthesoftwaresystem:1.CreateTestPlan2.DesignTestCase3.WriteTestCase4.ReviewTestCase5.ExecuteTestCase6.ExamineTestResults7.PerformPost-mortemReviews8.BudgetafterExperience13.7AVAILABLETOOLS,TECHNIQUES,ANDMETRICS!Thereareanabundanceofsoftwaretestingtoolsexist.Thecorrectnesstestingtoolsareoftenspecializedtocertainsystemsandhavelimitedabilityandgenerality.Robustnessandstresstestingtoolsaremorelikelytobemadegeneric.!Mothora[DeMillo91]isanautomatedmutationtestingtool-setdevelopedatPurdueUniversity.UsingMothora,thetestercancreateandexecutetestcases,measuretestcaseadequacy,
image/svg+xml171determineinput-outputcorrectness,locateandremovefaultsorbugs,andcontrolanddocumentthetest.!NuMega'sBoundschecker[NuMega99]Rational'sPurify[Rational99].Theyarerun-timecheckinganddebuggingaids.Theycanbothcheckandprotectagainstmemoryleaksandpointer problems.!BallistaCOTSSoftwareRobustnessTestingHarness[Ballista99].TheBallistatestingharnessisafull-scaleautomatedrobustnesstestingtool.Thefirstversionsupportstestingupto233POSIXfunctioncallsinUNIXoperatingsystems.Thesecondversionalsosupportstestingofuserfunctionsprovidedthatthedatatypesarerecognizedbythetestingserver.TheBallistatestingharnessgivesquantitativemeasuresofrobustnesscomparisonsacrossoperatingsystems.ThegoalistoautomaticallytestandhardenCommercialOff-The-Shelf(COTS)softwareagainstrobustnessfailures.13.8 SUMMARY:Softwaretestingisanart.Mostofthetestingmethodsandpracticesarenotverydifferentfrom20yearsago.Itisnowherenearmaturity,althoughtherearemanytoolsandtechniquesavailabletouse.Goodtestingalsorequiresatester'screativity,experienceandintuition,togetherwithpropertechniques.Questions:1.ExplainSoftwareTestingKeyConcepts?Ans:refer2.ExplainSoftwareTestingMethodologiesAns:refer13.53.ExplainAvailabletools,techniquesindetail?Ans:refer13.7
image/svg+xmlIMPLEMENTATION&MAINTENANCE14.1INTRODUCTION:Thequalityofdatainputagreesonthequalityofinformationoutput.Systemsanalystscansupportaccuratedataentrythroughsuccessofthreebroadobjectives:effectivecoding,effectiveandefficientdatacaptureandentry,andassuringqualitythroughvalidation.InthisChapter,wewilllearnDataEntryandDataFormat.14.2DATAENTRYANDDATASTORAGEThequalityofdatainputdeterminesthequalityofinformationoutput.Systemsanalystscansupportaccuratedataentrythroughachievementofthreebroadobjectives:effectivecoding,effectiveandefficientdatacaptureandentry,andassuringqualitythroughvalidation.Codingaidsinreachingtheobjectiveofefficiency,sincedatathatarecodedrequirelesstimetoenterandreducethenumberofitemsentered.Codingcanalsohelpinappropriatesortingofdataduringthedatatransformationprocess.Additionally,codeddatacansavevaluablememoryandstoragespace.Inestablishingacodingsystem,systemsanalystsshouldfollowtheseguidelines:·Keepcodesconcise.·Keepcodesstable.
image/svg+xml173·Makecodesthatareunique.·Allowcodestobesort.·Avoidconfusingcodes.·Keepcodes uniform.·Allowformodificationofcodes.·Makecodesmeaningful.Thesimplesequencecodeisanumberthatisassignedtosomethingifit needstobenumbered.Itthereforehasnorelationtothedataitself.Classificationcodesareusedtodistinguishonegroupofdata,withspecialcharacteristics,fromanother.Classificationcodescanconsistofeitherasingleletterornumber.Theblocksequencecodeisanextensionofthesequencecode.Theadvantageoftheblocksequencecodeisthatthedataaregroupedaccordingtocommoncharacteristics,whilestilltakingadvantageofthesimplicityofassigningthenextavailablenumberwithintheblocktothenextitemneedingidentification.Amnemonicisamemoryaid.Anycodethathelpsthedata-entrypersonremembershowtoenterthedataortheend-userremembershowtousetheinformationcanbeconsideredamnemonic.Mnemoniccodingcanbelessarbitrary,andthereforeeasiertoremember,thannumericcodingschemes.Compare,forexample,agendercodingsystemthatuses"F"forFemaleand"M"forMalewithanarbitrarynumericcodingofgenderwhereperhaps"1"meansFemaleand"2"meansMale.Or,perhapsitshouldbe"1"forMaleand"2"forFemale?Or,whynot"7"forMaleand"4"forFemale?Thearbitrarynatureofnumericcodingmakesit moredifficultfortheuser.14.3DATEFORMATSAneffectiveformatforthestorageofdatevaluesistheeight-digitYYYYMMDDformatasit allowsforeasysortingbydate.Notetheimportanceofusingfourdigitsfortheyear.Thiseliminatesanyambiguityinwhetheravaluesuchas01meanstheyear1901ortheyear2001.Usingfourdigitsalsoinsuresthatthecorrectsortsequencewillbemaintainedinagroupofrecordsthatincludeyearvaluesbothbeforeandaftertheturnofthecentury(e.g.,1999,2000,2001).Remember,however,thatthedateformatyouuseforstorageofadatevalueneednotbethesamedateformatthatyoupresenttotheuserviatheuserinterfaceorrequireoftheuserfordataentry.WhileYYYYMMDDmaybeusefulforthestorageofdatevaluesitisnothowhumanbeingscommonlywriteorreaddates.ApersonismorelikelytobefamiliarwithusingdatesthatareinMMDDYYformat.Thatis,apersonismuchmorelikelytobe
image/svg+xml174comfortablewritingthedateDecember25,2001as"12/25/01"than"20011225."Fortunately,itisasimplemattertocodearoutinethatcanbeinsertedbetweentheuserinterfaceordataentryroutinesandthedatastorageroutinesthatreadfromorwritetomagneticdisk.Thus,datevaluescanbesavedondiskinwhateverformatisdeemedconvenientforstorageandsortingwhileatthesametimebeingpresentedintheuserinterface,dataentryroutines,andprintedreportsinwhateverformatisdeemedconvenientandfamiliarforhumanusers.14.4DATAENTRYMETHODS·keyboards·opticalcharacterrecognition(OCR)·magneticinkcharacterrecognition(MICR)·mark-senseforms·punch-out forms·barcodes·intelligentterminalsTestsforvalidatinginputdatainclude:testformissingdata,testforcorrectfieldlength,testforclassorcomposition,testforrangeorreasonableness,testforinvalidvalues,testforcomparisonwithstoreddata,settingupself-validatingcodes,andusingcheckdigits.Testsforclassorcompositionareusedtocheckwhetherdatafieldsarecorrectlyfilledinwitheithernumbersorletters.TestsforrangeorreasonablenessdonotpermitausertoinputadatesuchasOctober32.Thisissometimescalledasanitycheck.DatabaseAdatabaseisagroupofrelatedfiles.Thiscollectionisusuallyorganizedtofacilitateefficientandaccurateinquiryandupdate.Adatabasemanagementsystem(DBMS)isasoftwarepackagethatisusedtoorganizeandmaintainadatabase.Usuallywhenweusetheword"file"wemeantraditionalorconventionalfiles.Sometimeswecallthem"flatfiles."Withthesetraditional,flatfileseachfileisasingle,recognizable,distinctentityonyourharddisk.Thesearethekindoffilesthatyoucanseecatalogedinyourdirectory.Commonly,thesedays,whenweusetheword"database"wearenottalkingaboutacollectionofthiskindoffile;ratherwewouldusuallybeunderstoodtobetalkingaboutadatabasemanagementsystem.And,commonly,peoplewhoworkinaDBMSenvironmentspeakintermsof"tables"rather
image/svg+xml175than"files."DBMSsoftwareallowsdataandfilerelationshipstobecreated,maintained,andreported.ADBMSoffersanumberofadvantagesoverfile-orientedsystemsincludingreduceddataduplication,easierreporting,improvedsecurity,andmorerapiddevelopmentofnewapplications.TheDBMSmayormaynotstoreatableasanindividual,distinctdiskfile.Thesoftwaremaychoosetostoremorethanonetableinasinglediskfile.Orit maychoosetostoreonetableacrossseveraldistinctdiskfiles,orevenspreaditacrossmultipleharddisks.Thedetailsofphysicalstorageofthedataarenotimportanttotheenduserwhoonlyisconcernedaboutthelogicaltables,notphysicaldiskfiles.Inahierarchicaldatabasethedataisorganizedinatreestructure.Eachparentrecordmayhavemultiplechildrecords,butanychildmayonlyhaveoneparent.Theparent-childrelationshipsareestablishedwhenthedatabaseisfirstgenerated,whichmakeslatermodificationmoredifficult.Anetworkdatabaseissimilartoahierarchicaldatabaseexceptthatachildrecord(calleda"member")mayhavemorethanoneparent(calledan"owner").Likeinahierarchicaldatabase,theparent-childrelationshipsmustbedefinedbeforethedatabaseisputintouse,andtheadditionormodificationoffieldsrequirestherelationshipstoberedefined.Inarelationaldatabasethedataisorganizedintablesthatarecalled"relations."Tablesareusuallydepictedasagridofrows("tuples")andcolumns("attributes").Eachrowisarecord;eachcolumnisafield.Witharelationaldatabaselinksbetweentablescanbeestablishedatanytimeprovidedthetableshaveafieldincommon.Thisallowsforagreatamountofflexibility.14.5 SYSTEMIMPLEMENTATIONSystemsimplementationistheconstructionofthenewsystemanditsdeliveryinto‘production’orday-to-dayoperation.Thekeytounderstandingtheimplementationphaseistorealizethatthereisalotmoretobedonethanprogramming.Duringimplementationyoubringyourprocess,data,andnetworkmodelstolifewithtechnology.Thisrequiresprogramming,butitalsorequiresdatabasecreationandpopulation,andnetworkinstallationandtesting.Youalsoneedtomakesurethepeoplearetakencareofwitheffectivetraininganddocumentation.Finally,ifyouexpectyourdevelopmentskillstoimproveovertime,youneedtoconductareviewofthelessonslearned.
image/svg+xml176Duringbothdesignandimplementation,yououghttobelookingaheadtothesupportphase.Overthelongrun,thisiswheremostofthecostsofanapplicationreside.Systemsimplementationinvolvesinstallationandchangeoverfromtheprevioussystemtothenewone,includingtrainingusersandmakingadjustmentstothesystem.Manyproblemscanariseatthisstage.Youhavetobeextremelycarefulinimplementingnewsystems.First,usersareprobablynervousaboutthechangealready.Ifsomethinggoeswrongtheymaynevertrustthenewsystem.Second,ifmajorerrorsoccur,youcouldloseimportantbusinessdata.Acrucialstageinimplementationisfinaltesting.Testingandqualitycontrolmustbeperformedateverystageofdevelopment,butafinalsystemstestisneededbeforestaffentrustthecompany'sdatatothenewsystem.Occasionally,smallproblemswillbenoted,buttheirresolutionwillbeleftforlater.Inanylargesystem,errorsandchangeswilloccur,thekeyistoidentifythemanddeterminewhichonesmustbefixedimmediately.Smallerproblemsareoftenlefttothesoftwaremaintenancestaff.ChangeisanimportantpartofMIS.Designingandimplementingnewsystemsoftencauseschangesinthebusinessoperations.Yet,manypeopledo,notlikechanges.Changesrequirelearningnewmethods,forgingnewrelationshipswithpeopleandmanagers,orperhapsevenlossofjobs.Changesexistonmanylevels:insociety,inbusiness,andininformationsystems.Changescanoccurbecauseofshiftsintheenvironment,ortheycanbeintroducedbyinternalchangeagents.Lefttothemselves,mostorganizationswill resistevensmallchanges.Changeagentsareobjectsorpeoplewhocauseorfacilitatechanges.Sometimesitmightbeanewemployeewhobringsfreshideas;othertimeschangescanbemandatedbytop-levelmanagement.Sometimesanoutsideeventsuchasarrivalofanewcompetitororanaturaldisasterforcesanorganizationtochange.Whateverthecause,peopletendtoresistchange.However,iforganizationsdonotchange,theycannotsurvive.Thegoalistoimplementsystemsinamannerthatrecognizesresistancetochangebutencouragespeopletoacceptthenewsystem.Effectiveimplementationinvolvesfindingwaystoreducethisresistance.Sometimes,implementationinvolvesthecooperationofoutsiderssuchassuppliers.Becauseimplementationissoimportant,severaltechniqueshavebeendevelopedtohelpimplementnewsystems.Directcutoverisanobvioustechnique,wheretheoldsystemissimplydroppedandthenewonestarted.Ifatallpossible,itisbesttoavoidthis
image/svg+xml177technique,becauseitisthemostdangeroustodata.Ifanythinggoeswrongwiththenewsystem,youruntheriskoflosingvaluableinformationbecausetheoldsystemisnotavailable.Inmanyways,thesafestchoiceistouseparallelimplementation.Inthiscase,thenewsystemisintroducedalongsidetheoldone.Bothsystemsareoperatedatthesametimeuntilyoudeterminethatthenewsystemisacceptable.Themaindrawbacktothismethodisthatitcanbeexpensivebecausedatahastobeenteredtwice.Additionally,ifusersarenervousaboutthenewsystem,theymightavoidthechangeandstickwiththeoldmethod.Inthiscase,thenewsystemmaynevergetafairtrial.Ifyoudesignasystemforachainofretailstores,youcouldpilottestthefirstimplementationinonestore.Byworkingwithonestoreatatime,therearelikelytobefewerproblems.Butifproblemsdoarise,youwillhavemorestaffmembersaroundtoovercometheobstacles.Whenthesystemisworkingwellinonestore,youcanmovetothenextlocation.Similarly,evenifthereisonlyonestore,youmightbeabletosplittheimplementationintosectionsbasedontheareaofbusiness.Youmightinstallasetofcomputercashregistersfirst.Whentheyworkcorrectly,youcanconnectthemtoacentralcomputerandproducedailyreports.Next,youcanmoveontoannualsummariesandpayroll.Eventuallytheentiresystemwillbeinstalled.LetusnowseetheProcessofImplementationwhichinvolvesthefollowingsteps:·Internaloroutsourcing(trendis"outsourcing")·Acquisition:purchasingsoftware,hardware,etc.·Training:employee(end-users)training,technicalstafftraining.SQLtrainingin5dayscostsaround$2000,+airplane,hotel,meals,rentalcar($3000to5000);evaluation·Testing:·abiggersystemrequiresmoretestingtime·agoodcareeropportunityfornon-technicalpeoplewhowishtogetinthedoorintheITjobs.·Documentation:·backup·knowledgemanagementsystem·ActualInstallation·Conversion:Migrationfromtheoldsystemtoanewsystem·Maintenance:veryimportant;ifyoudon'tmaintainthenewsystemproperly,it's uselesstodevelopanewsystem.·monitorthesystem,
image/svg+xml178·Upgrade,·Trouble-shooting,·Continuousimprovement14.6SYSTEMMAINTENANCEOncethesystemisinstalled,theMISjobhasjustbegun.Computersystemsareconstantlychanging.Hardwareupgradesoccurcontinually,andcommercialsoftwaretoolsmaychangeeveryyear.Userschangejobs.Errorsmayexistinthesystem.Thebusinesschanges,andmanagementandusersdemandnewinformationandexpansions.Alloftheseactionsmeanthesystemneedstobemodified.Thejobofoverseeingandmakingthesemodificationsiscalledsoftwaremaintenance.Thepressuresforchangearesogreatthatinmostorganizationstodayasmuchas80percentoftheMISstaffisdevotedtomodifyingexistingprograms.Thesechangescanbetimeconsuminganddifficult.Mostmajorsystemswerecreatedbyteamsofprogrammersandanalystsoveralongperiod.Inordertomakeachangetoaprogram,theprogrammerhastounderstandhowthecurrentprogramworks.Becausetheprogramwaswrittenbymanydifferentpeoplewithvaryingstyles,itcanbehardtounderstand.Finally,whenaprogrammermakesaminorchangeinonelocation,itcanaffectanotherareaoftheprogram,whichcancauseadditionalerrorsornecessitatemorechanges.Onedifficultywithsoftwaremaintenanceisthateverytimepartofanapplicationismodified,thereisariskofaddingdefects(bugs).Also,overtimetheapplicationbecomeslessstructuredandmorecomplex,makingithardertounderstand.Thesearesomeofthemainreasonswhytheyear2000alterationsweresoexpensiveandtimeconsuming.Atsomepoint,acompanymaydecidetoreplaceorimprovetheheavilymodifiedsystem.Thereareseveraltechniquesforimprovinganexistingsystem,rangingfromrewritingindividualsectionstorestructuringtheentireapplication..Thedifferenceliesinscope-howmuchoftheapplicationneedstobemodified.Olderapplicationsthatweresubjecttomodificationsoverseveralyearstendtocontaincodethatisnolongerused,poorlydocumentedchanges,andinconsistentnamingconventions.Theseapplicationsareprimecandidatesforrestructuring,duringwhichtheentirecodeisanalyzedandreorganizedtomakeitmoreefficient.Moreimportant,thecodeisorganized,standardized,anddocumentedtomakeit easiertomakechangesinthefuture.
image/svg+xml17914.7SYSTEMEVALUATIONAnimportantphaseinanyprojectisevaluatingtheresultingsystem.Aspartofthisevaluation,itisalsoimportanttoassesstheeffectivenessoftheparticulardevelopmentprocess.Thereareseveralquestionstoask.Weretheinitialcostestimatesaccurate?Wastheprojectcompletedontime?Didusershavesufficientinput?Aremaintenancecostshigherthanexpected?Evaluationisadifficultissue.Howcanyouasamanagertellthedifferencebetweenagoodsystemandapoorone?Insomeway,thesystemshoulddecreasecosts,increaserevenue,orprovideacompetitiveadvantage.Althoughtheseeffectsareimportant,theyareoftensubtleanddifficulttomeasure.Thesystemshouldalsobeeasytouseandflexibleenoughtoadapttochangesinthebusiness.Ifemployeesorcustomerscontinuetocomplainaboutasystem,itshouldbere-examined.Asystemalsoneedstobereliable.Itshouldbeavailablewhenneededandshouldproduceaccurateoutput.Errordetectioncanbeprovidedinthesystemtorecognizeandavoidcommonproblems.Similarly,somesystemscanbebuilttotolerateerrors,sothatwhenerrorsarise,thesystemrecognizestheproblemandworksaroundit.Forexample,somecomputersexisttodaythatautomaticallyswitchtobackupcomponentswhenonesectionfails,therebyexhibitingfaulttolerance.Managersconcerntorememberwhendealingwithnewsystemsisthattheevaluationmechanismshouldbedeterminedatthestart.Thequestionofevaluationisignoreduntilsomeonequestionsthevalueofthefinishedproduct.Itisagooddesignpracticetoaskwhatwouldmakethissystemagoodsystemwhenitisfinishedorhowwecantellagoodsystemfromabadoneinthisapplication.Eventhoughthesequestionsmaybedifficulttoanswer,theyneedtobeasked.Theanswers,howeverincomplete,willprovidevaluableguidanceduringthedesignstage.Recallthateverysystemneedsagoal,awayofmeasuringprogresstowardthatgoal,andafeedbackmechanism.Traditionally,controlofsystemshasbeenthetaskofthecomputerprogrammingstaff.Theirprimarygoalwastocreateerror-freecode,andtheyusedvarioustestingtechniquestofindandcorrecterrorsinthecode.Today,creatingerror-freecodeisnotasufficientgoal.Wehaveallheardthephrase,"Thecustomerisalwaysright."Themeaningbehindthisphraseisthatsometimespeoplehavedifferentopinionsonwhetherasystemisbehavingcorrectly.Whenthereisaconflict,theopinionthatismostimportantisthatofthecustomer.Inthefinalanalysis,customersareincontrolbecausetheycanalwaystaketheirbusinesselsewhere.Withinformation
image/svg+xml180systems,theusersarethecustomersandtheusersshouldbetheonesincontrol.Usersdeterminewhetherasystemisgood.Iftheusersarenotconvincedthatthesystemperformsusefultasks,itisnotagoodsystem.FeasibilitycomparisonCostandbudgetCompareactualcoststobudgetestimatesTimeestimatesRevenueeffectsWasprojectcompletedontime?MaintenancecostsDoessystemproduceadditionalrevenue?Projectgoalshowmuchmoneyandtimearespentonchanges?Doessystemmeettheinitialgoalsoftheproject?Usersatisfactionhowdousers(andmanagement)evaluatethesystem?SystemperformanceSystemreliability:Aretheresultsaccurateandontime?Systemavailability:Isthesystemavailablecontinually?Systemsecurity: Doesthesystemprovidesaccesstoauthorizedusers?Summary:Inthischapter,welearnedDataFormat,DataEntryandDataStorage,DateFormats,DataEntryMethods,SystemImplementation,SystemMaintenance,SystemEvaluation.Questions:1.ExplainSystemImplementationindetail?Ans:refer14.52.ExplainSystemMaintenanceindetail?Ans:refer14.63. ExplainSystemEvaluation?Ans:refer14.7
image/svg+xmlDOCUMENTATION15.1INTRODUCTION:Documentationisanimportantpartofsoftwareengineering.Typesofdocumentationinclude:Requirements-Statementsthatidentifyattributescapabilities,characteristics,orqualitiesofasystem.Thisisthefoundationforwhatshallbeorhasbeenimplemented.1.Architecture/Design-Overviewofsoftware.Includesrelationstoanenvironmentandconstructionprinciplestobeusedindesignofsoftwarecomponents.2.Technical-Documentationofcode,algorithms,interfaces,andAPIs.3.EndUser-Manualsfortheend-user,systemadministratorsandsupportstaff.4.Marketing-Howtomarkettheproductandanalysisofthemarketdemand.15.2 REQUIREMENTSDOCUMENTATIONRequirementsdocumentationisthedescriptionofwhatparticularsoftwaredoesorshalldo.Itisusedthroughoutdevelopmenttocommunicatewhatthesoftwaredoesorshalldo.Itisalsousedasanagreementorasthefoundationforagreement
image/svg+xml182onwhatthesoftwareshalldo.Requirementsareproducedandconsumedbyeveryoneinvolvedintheproductionofsoftware:endusers,customers,productmanagers,projectmanagers,sales,marketing,softwarearchitects,usabilityexperts,interactiondesigners,developers,andtesters,tonameafew.Thus,requirementsdocumentationhasmanydifferentpurposes.Requirementscomeinavarietyofstyles,notationsandformality.Requirementscanbegoal-like(e.g.,distributedworkenvironment),closetodesign(e.g.,buildscanbestartedbyright-clickingaconfigurationfileandselectthe'build'function),andanythinginbetween.Theycanbespecifiedasstatementsinnaturallanguage,asdrawnfigures,asdetailedmathematicalformulas,andasacombinationofthemall.Thevariationandcomplexityofrequirementsdocumentationmakesitaprovenchallenge.Requirementsmaybeimplicitandhardtouncover.Itisdifficulttoknowexactlyhowmuchandwhatkindofdocumentationisneededandhowmuchcanbelefttothearchitectureanddesigndocumentation,anditisdifficulttoknowhowtodocumentrequirementsconsideringthevarietyofpeoplethatshallreadandusethedocumentation.Thus,requirementsdocumentationisoftenincomplete(ornon-existent).Withoutproperrequirementsdocumentation,softwarechangesbecomemoredifficultandthereforemoreerrorprone(decreasedsoftwarequality)andtime-consuming(expensive).Theneedforrequirementsdocumentationistypicallyrelatedtothecomplexityoftheproduct,theimpactoftheproduct,andthelifeexpectancyofthesoftware.Ifthesoftwareisverycomplexordevelopedbymanypeople(e.g.,mobilephonesoftware),requirementscanhelptobettercommunicatewhattoachieve.Ifthesoftwareissafety-criticalandcanhavenegativeimpactonhumanlife(e.g.,nuclearpowersystems,medicalequipment),moreformalrequirementsdocumentationisoftenrequired.Ifthesoftwareisexpectedtoliveforonlyamonthortwo(e.g.,verysmallmobilephoneapplicationsdevelopedspecificallyforacertaincampaign)verylittlerequirementsdocumentationmaybeneeded.Ifthesoftwareisafirstreleasethatislaterbuiltupon,requirementsdocumentationisveryhelpfulwhenmanagingthechangeofthesoftwareandverifyingthatnothinghasbeenbrokeninthesoftwarewhenit ismodified.Traditionally,requirementsarespecifiedinrequirementsdocuments(e.g.usingwordprocessingapplicationsandspreadsheetapplications).Tomanagetheincreasedcomplexityandchangingnatureofrequirementsdocumentation(andsoftwaredocumentationingeneral),database-centricsystemsandspecial-purposerequirementsmanagementtoolsareadvocated.
image/svg+xml18315.3 ARCHITECTURE/DESIGNDOCUMENTATIONArchitecturedocumentationisaspecialbreedofdesigndocument.Inaway,architecturedocumentsarethirdderivativefromthecode(designdocumentbeingsecondderivative,andcodedocumentsbeingfirst).Verylittleinthearchitecturedocumentsisspecifictothecodeitself.Thesedocumentsdonotdescribehowtoprogramaparticularroutine,orevenwhythatparticularroutineexistsintheformthatitdoes,butinsteadmerelylaysoutthegeneralrequirementsthatwouldmotivatetheexistenceofsucharoutine.Agoodarchitecturedocumentisshortondetailsbutthickonexplanation.Itmaysuggestapproachesforlowerleveldesign,butleavetheactualexplorationtradestudiestootherdocuments.Anotherbreedofdesigndocsisthecomparisondocument,ortradestudy.Thiswouldoftentaketheformofawhitepaper.Itfocusesononespecificaspectofthesystemandsuggestsalternateapproaches.Itcouldbeattheuserinterface,code,design,orevenarchitecturallevel.Itwilloutlinewhatthesituationis,describeoneormorealternatives,andenumeratetheprosandconsofeach.Agoodtradestudydocumentisheavyonresearch,expressesitsideaclearly(withoutrelyingheavilyonobtusejargontodazzlethereader),andmostimportantlyisimpartial.Itshouldhonestlyandclearlyexplainthecostsofwhateversolutionitoffersasbest.Theobjectiveofatradestudyistodevisethebestsolution,ratherthantopushaparticularpointofview.Itisperfectlyacceptabletostatenoconclusion,ortoconcludethatnoneofthealternativesaresufficientlybetterthanthebaselinetowarrantachange.Itshouldbeapproachedasascientificendeavour,notasamarketingtechnique.AveryimportantpartofthedesigndocumentinenterprisesoftwaredevelopmentistheDatabaseDesignDocument(DDD).ItcontainsConceptual,Logical,andPhysicalDesignElements.TheDDDincludestheformalinformationthatthepeoplewhointeractwiththedatabaseneed.Thepurposeofpreparingitistocreateacommonsourcetobeusedbyallplayerswithinthescene.Thepotentialusersare:!DatabaseDesigner!DatabaseDeveloper!DatabaseAdministrator!Application Designer!ApplicationDeveloperWhentalkingaboutRelationalDatabaseSystems,thedocumentshouldincludefollowingparts:
image/svg+xml184!Entity-RelationshipSchema,includingfollowinginformationandtheir cleardefinitions:oEntitySetsandtheirattributesoRelationshipsandtheirattributesoCandidatekeysforeachentitysetoAttributeandTuplebasedconstraints!RelationalSchema,includingfollowinginformation:oTables,Attributes,andtheirpropertiesoViewso Constraintssuchasprimarykeys,foreignkeys,oCardinalityofreferentialconstraintsoCascadingPolicyforreferentialconstraintsoPrimarykeysItisveryimportanttoincludeallinformationthatistobeusedbyallactorsinthescene.Itisalsoveryimportanttoupdatethedocumentsasanychangeoccursinthedatabaseaswell.15.4TECHNICALDOCUMENTATIONThisiswhatmostprogrammersmeanwhenusingthetermsoftwaredocumentation.Whencreatingsoftware,codealoneisinsufficient.Theremustbesometextalongwithittodescribevariousaspectsofitsintendedoperation.Itisimportantforthecodedocumentstobethorough,butnotsoverbosethatitbecomesdifficulttomaintainthem.SeveralHow-toandoverviewdocumentationarefoundspecifictothesoftwareapplicationorsoftwareproductbeingdocumentedbyAPIWriters.Thisdocumentationmaybeusedbydevelopers,testersandalsotheendcustomersorclientsusingthissoftwareapplication.Today,weseelotofhighendapplicationsinthefieldofpower,energy,transportation,networks,aerospace,safety,security,industryautomationandavarietyofotherdomains.Technicaldocumentationhasbecomeimportantwithinsuchorganizationsasthebasicandadvancedlevelofinformationmaychangeoveraperiodoftimewitharchitecturechanges.Hence,technicaldocumentationhasgainedlotofimportanceinrecenttimes,especiallyinthesoftwarefield.Often,toolssuchasDoxygen,NDoc,javadoc,EiffelStudio,Sandcastle,ROBODoc,POD,TwinText,orUniversalReportcanbeusedtoauto-generatethecodedocumentsthatis,theyextractthecommentsandsoftwarecontracts,whereavailable,fromthesourcecodeandcreatereferencemanualsinsuchformsastextor
image/svg+xml185HTMLfiles.Codedocumentsareoftenorganizedintoareferenceguidestyle,allowingaprogrammertoquicklylookupanarbitraryfunctionorclass.Manyprogrammersreallyliketheideaofauto-generatingdocumentationforvariousreasons.Forexample,becauseitisextractedfromthesourcecodeitself(forexample,throughcomments),theprogrammercanwriteitwhilereferringtothecode,andusethesametoolsusedtocreatethesourcecodetomakethedocumentation.Thismakesitmucheasiertokeepthedocumentation up-to-date.Ofcourse,adownsideisthatonlyprogrammerscaneditthiskindofdocumentation,anditdependsonthemtorefreshtheoutput(forexample,byrunningajobtoupdatethedocumentsnightly).Somewouldcharacterizethisasaproratherthanacon.DonaldKnuthhasinsistedonthefactthatdocumentationcanbeaverydifficultafterthoughtprocessandhasadvocatedliterateprogramming,writingatthesametimeandlocationasthesourcecodeandextractedbyautomaticmeans.ElucidativeProgrammingistheresultofpracticalapplicationsofLiterateProgramminginrealprogrammingcontexts.TheElucidativeparadigmproposesthatsourcecodeanddocumentationbestoredseparately.ThisparadigmwasinspiredbythesameexperimentalfindingsthatproducedKelp.Often,softwaredevelopersneedtobeabletocreateandaccessinformationthatisnotgoingtobepartofthesourcefileitself.Suchannotationsareusuallypartofseveralsoftwaredevelopmentactivities,suchascodewalksandporting,wherethirdpartysourcecodeisanalysedinafunctionalway.Annotationscanthereforehelpthedeveloperduringanystageofsoftwaredevelopmentwhereaformaldocumentationsystemwouldhinderprogress.Kelpstoresannotationsinseparatefiles,linkingtheinformationtothesourcecodedynamically.15.5USERDOCUMENTATIONUnlikecodedocuments,userdocumentsareusuallyfarmorediversewithrespecttothesourcecodeoftheprogram,andinsteadsimplydescribehowit isused.Inthecaseofasoftwarelibrary,thecodedocumentsanduserdocumentscouldbeeffectivelyequivalentandareworthconjoining,butforageneralapplicationthisisnotoftentrue.Ontheotherhand,theLispmachinegrewoutofatraditioninwhicheverypieceofcodehadanattacheddocumentationstring.Incombinationwithstrongsearchcapabilities(basedonaUnix-likeaproposcommand),andonlinesources,Lispuserscouldlookup
image/svg+xml186documentationpreparedbytheseAPIWritersandpastetheassociatedfunctiondirectlyintotheirowncode.Thislevelofeaseofuseisunheardofinputativelymoremodernsystems.Typically,theuserdocumentationdescribeseachfeatureoftheprogram,andassiststheuserinrealizingthesefeatures.Agooduserdocumentcanalsogosofarastoprovidethoroughtroubleshootingassistance.Itisveryimportantforuserdocumentstonotbeconfusing,andforthemtobeuptodate.Userdocumentsneednotbeorganizedinanyparticularway,butit isveryimportantforthemtohaveathoroughindex.Consistencyandsimplicityarealsoveryvaluable.Userdocumentationisconsideredtoconstituteacontractspecifyingwhatthesoftwarewilldo.APIWritersareverywellaccomplishedtowardswritinggooduserdocumentsastheywouldbewellawareofthesoftwarearchitectureandprogrammingtechniquesused.SeealsoTechnicalWriting.Therearethreebroadwaysinwhichuserdocumentationcanbeorganized.1.Tutorial:Atutorialapproachisconsideredthemostusefulforanewuser,inwhichtheyareguidedthrougheachstepofaccomplishingparticulartasks.2.Thematic:Athematicapproach,wherechaptersorsectionsconcentrateononeparticularareaofinterest,isofmoregeneralusetoanintermediateuser.Someauthorsprefertoconveytheirideasthroughaknowledgebasedarticletofacilitatingtheuserneeds.Thisapproachisusuallypracticedbyadynamicindustry,suchasInformationtechnology,wheretheuserpopulationislargelycorrelatedwiththetroubleshootingdemands.3.ListorReference:Thefinaltypeoforganizingprincipleisoneinwhichcommandsortasksaresimplylistedalphabeticallyorlogicallygrouped,oftenviacross-referencedindexes.Thislatterapproachisofgreaterusetoadvanceduserswhoknowexactlywhatsortofinformationtheyarelookingfor.Acommoncomplaintamongusersregardingsoftwaredocumentationisthatonlyoneofthesethreeapproacheswastakentothenear-exclusionoftheothertwo.Itiscommontolimitprovidedsoftwaredocumentationforpersonalcomputerstoonlinehelpthatgiveonlyreferenceinformationoncommandsormenuitems.Thejoboftutoringnewusersorhelpingmoreexperiencedusersgetthemostoutofaprogramislefttoprivatepublishers,whoareoftengivensignificantassistancebythesoftwaredeveloper.
image/svg+xml18715.6MARKETINGDOCUMENTATIONFormanyapplicationsitisnecessarytohavesomepromotionalmaterialstoencouragecasualobserverstospendmoretimelearningabouttheproduct.Thisformofdocumentationhasthreepurposes:-1.Toexcitethepotentialuserabouttheproductandinstilinthemadesireforbecomingmoreinvolvedwithit.2.Toinformthemaboutwhatexactlytheproductdoes,sothattheirexpectationsareinlinewithwhattheywillbereceiving.3.Toexplainthepositionofthisproductwithrespecttootheralternatives.4.Tocompletelyshroudthefunctionoftheproductinmystery.Onegoodmarketingtechniqueistoprovideclearandmemorablecatchphrasesthatexemplifythepointwewishtoconvey,andalsoemphasizetheinteroperabilityoftheprogramwithanythingelseprovidedbythemanufacturer.15.7CASETOOLSANDTHEIRIMPORTANCECASEtoolsstandforComputerAidedSoftwareEngineeringtools.Asthenameimpliestheyarecomputerbasedprogramstoincreasetheproductivityofanalysts.Theypermiteffectivecommunicationwithusersaswellasothermembersofthedevelopmentteam.Theyintegratethedevelopmentdoneduringeachphaseofasystemlifecycleandalsoassistincorrectlyassessingtheeffectsandcostofchangessothatmaintenancecostcanbeestimated.!Available CASEtoolsCommerciallyavailablesystemsprovidetools(i.e.computerprogrampackages)foreachphaseofthesystemdevelopmentlifecycle.AtypicalpackageisVisualAnalystwhichhasseveraltoolsintegratedtogether.Toolsarealsointheopendomainwhichcanbedownloadedandused.However,theydonotusuallyhaveverygooduserinterfaces.Followingtypesoftoolsareavailable:��Systemrequirementsspecificationdocumentationtool��Dataflowdiagrammingtool��Systemflowchartgenerationtool��Datadictionarycreation��FormattingandcheckingstructuredEnglishprocesslogic��Decisiontable checking
image/svg+xml188��Screendesignfordatainputting��Form designfor outputs.��E-Rdiagramming��Databasenormalizationgiventhedependencyinformation!WhenaretoolsusedToolsareusedthroughoutthesystemdesignphase.CASEtoolsaresometimesclassifiedasupperCASEtoolsandlowerCASEtools.ThetoolswehavedescribedsofarareupperCASEtools.TheyaretoolswhichwillgeneratecomputerscreencodefromhigherleveldescriptionssuchasstructuredEnglishanddecisiontables,suchtoolsarecalledlowerCASEtools!ObjectOrientedSystemDesignToolsUnifiedModellingLanguageiscurrentlythestandard.UMLtoolsetismarketedbyRationalRoseacompanywhosetoolsarewidelyused.Thisisanexpensivetoolandnotinourscopeinhiscourse.!Howtousethetools·Mosttoolshaveauser’sguidewhichisgivenashelpfilesalongwiththetool·ManyhaveFAQ’sandsearchcapabilities·Detailsonseveralopendomaintoolsandwhattheydoisgivenbelow.!SystemFlowchartandER-DiagramgenerationToolURL:ThisSoftwarecanbedownloadedfrom:http://www.smartdraw.com.Thisisapaidsoftware,buta30-dayfreetrial forlearningcanbedownloaded.Requirementstousethetool:PCrunningWindows95,98orNT.ThelatestversionsofInternetExplorerorNetscapeNavigator,andabout20MBoffreespace.Whatthetooldoes:Smartdrawisaperfectsuitefordrawingallkindsofdiagramsandcharts:Flowcharts,Organizationalcharts,Ganttcharts,Networkdiagrams,ERdiagramsetc.Thedraganddropreadymadegraphicsofthousandsoftemplatesfrombuilt-inlibrariesmakesdrawingeasier.Ithasalarge
image/svg+xml189drawingareaanddrawingsfromthistoolcanbeembeddedintoWord,ExcelandPowerPointbysimplycopy-pasting.Ithasanextensivecollectionofsymbolsforallkindsofdrawings.Howtouse:Thebuilt-intipsguidesasthedrawingisbeingcreated.Tooltipsautomaticallylabelbuttonsonthetoolbar.Thereisonlinetutorialprovidedin:http://www.smartdraw.com/tutorials/flowcharts/tutorials1.htmhttp://www.ttp.co.uk/abtsd.html!Data FlowDiagramToolNameofthetool:IBMS/DFDURL:Thisafreesoftwarethatcanbedownloadedfrom:http://viu.eng.rpi.eduRequirementstousethetool:ThefollowinginstallationinstructionsassumethattheuserusesaPCrunningWindows95,98orNT.Additionally,theinstructionsassumetheuseofthelatestversionsofInternetExplorerorNetscapeNavigator.Todownloadthezipfiles&extractthemyouwillneedWinZiporsimilarsoftware.Ifneededdownloadathttp://www.winzip.com.Whatthetooldoes:Thetoolhelpstheusersdrawastandarddataflowdiagram(aprocess-orientedmodelofinformationsystems)forsystemsanalysis.Howtouse:DoubleclickontheIBMSicontoseethewelcomescreen.ClickAnywhereinsidethewelcomescreentobringupthefirstscreen.Under"Tools"menu,selectDFDModelling.TheIBMSwillpopuptheDataFlowDiagramwindow.ItsmenubarhastheFile,Edit,Insert,Font,Tool,WindowandHelpoptions.Itstoolboxontherightcontains10icons,representing(fromlefttorightandtoptobottom)pointer,cut,dataflow,process,externalentity,datastore,zoom-out,zoom-in,decompose,andcomposeoperations,respectively.LeftclickontheDFDcomponenttobeusedinthetoolbox,keyintheinformationpertainingtoit intheinputdialogueboxthatpromptsforinformation.TomovetheDFDcomponents:LeftclickonthePointericoninthetoolbox,pointtothecomponent,andholdLeftButtontomovetothenewlocationdesiredintheworkarea.ToeditinformationoftheDFDcomponents:RightclickontheDFDcomponent.Theinputdialogueboxwillpromptyoutoeditinformationofthatcomponent.
image/svg+xml190LevellingofDFD:UsetheDecomposeiconinthetoolboxforlevelling.TosavetheDFD:UnderFilemenu,chooseSaveorSaveAs.InputthenameandextensionoftheDFD(thedefaultextensionisDFD)andspecifyfolderfortheDFDtobesaved.ClickOK.!SystemrequirementspecificationdocumentationtoolNameofthetool:ARMURL:Thetoolcanbedownloadedwithoutcostathttp://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.phpWhatthetooldoes:ARMorAutomatedRequirementMeasurementtoolaidsinwritingtheSystemRequirementsSpecificationsright.TheuserwritestheSRSinatextfile,theARMtoolscansthisfilethatcontainstherequirementspecificationsandgivesareportfilewiththesameprefixnameastheuser’ssourcefileandaddsanextensionof“.arm”.ThisreportfilecontainsacategorycalledINCOMPLETEthatindicatethewordsandphrasesthatarenotfullydeveloped.Requirementstousethetool:PCrunningWindows95,98orNT.ThelatestversionsofInternetExplorerorNetscapeNavigator,andabout8MBoffreespace.Howtousethetool:OnclickingtheoptionAnalyzeunderFilemenuandselectingthefilethatcontainstheSystemRequirementsSpecifications,thetoolprocessesthedocumenttocheckifthespecificationsarerightandgenerateaARMreport.TheWALKTHROUGHoptionintheARMtoolassistsauserbyguidinghimastohowtousethetoolapartfromtheHELPmenu.TheREADME.docfiledownloadedduringinstallationalsocontainsdescriptionoftheusageofthistool.!AToolfordesigningandManipulatingDecisiontablesNameofthetool:PrologaV.5URL:http://www.econ.kuleuven.ac.be/prologaNote:ThistoolcanbedownloadedfromtheabovegivenURL,afterobtainingthepassword.Whatthetooldoes:Thepurposeofthetoolistoallowthedecisionmakertoconstructandmanipulate(systemsof)decisiontables.Inthisconstructionprocess,thefeaturesavailableareautomatictablecontraction,automatictableoptimization,(automatic)decompositionandcompositionoftables,verification
image/svg+xml191andvalidationoftablesandbetweentables,visualdevelopment,andrulebasedspecification.15.8 SUMMARY:InthisChapter,welearnedtheconceptofDocumentationandtypesofdocumentationsuchasRequirementsdocumentationArchitecture/Designdocumentation,Technicaldocumentation,Userdocumentation,MarketingdocumentationandCASEToolsandtheirimportance.Questions:1.ExplainRequirementsdocumentation?Ans:refer15.22. ExplainArchitecture/Designdocumentation?Ans:refer15.33. ExplainTechnicaldocumentation?Ans:refer15.44.ExplainUserdocumentation?Ans:refer15.55.ExplainMarketingdocumentation?Ans:refer15.6